C/C++字符串拼接测试运行结果:
Release version.
TEST_TIME: 90000
C language memcpy append Used: 0 ms.
string length: 630000
std::string += operator Used: 15 ms.
string length: 630000
std::string append Used: 16 ms.
string length: 630000
std::ostringstream << Used: 16 ms.
string length: 630000
capacity: 630015
size: 0
hava resize(PREALLOCATE_SIZE) std::string += operator Used: 0 ms.
string length: 630000
MFC CString append Used: 63 ms.
string length: 630000
MFC CString operator append Used: 62 ms.
string length: 630000
c string function strcat: Used: 32203 ms.
string length: 630000
---------Statistics informations(sorting ascendent)-------
sort order: 1
item: C language memcpy append
used: 0 ms.
sort order: 2
item: hava resize(PREALLOCATE_SIZE) std::string += operator
used: 0 ms.
sort order: 3
item: std::string += operator
used: 15 ms.
sort order: 4
item: std::string append
used: 16 ms.
sort order: 5
item: std::ostringstream <<
used: 16 ms.
sort order: 6
item: MFC CString operator append
used: 62 ms.
sort order: 7
item: MFC CString append
used: 63 ms.
sort order: 8
item: c string function strcat:
used: 32203 ms.
----------------------------------------------------------
Press any key to continue . . .
Java的测试代码段:
void testJavaStringPerformance() {
final int TEST_TIMES = 90000;
//String
String str = new String();
System.out.println("The testing is running, please wait...");
long start = System.currentTimeMillis();
for (int i=0; i<TEST_TIMES; i++) {
str += "cppmule";
}
long strUsed = System.currentTimeMillis() - start;
System.out.println("strUsed: " + strUsed + " ms.");
//StringBuffer
start = 0;
StringBuffer strBuffer = new StringBuffer();
start = System.currentTimeMillis();
for (int i=0; i<TEST_TIMES; i++) {
strBuffer.append("cppmule");
}
long strBufferUsed = System.currentTimeMillis() - start;
System.out.println("StringBuffer append: " + strBufferUsed + " ms.");
//StringBuilder
start = 0;
StringBuilder strBuilder = new StringBuilder();
start = System.currentTimeMillis();
for (int i=0; i<TEST_TIMES; i++) {
strBuilder.append("cppmule");
}
long strBuilderUsed = System.currentTimeMillis() - start;
System.out.println("StringBuilder append: " + strBuilderUsed + " ms.");
System.out.println("Times: " + TEST_TIMES);
}
Java字符串拼接运行结果:
The testing is running, please wait...
strUsed: 443141 ms.
StringBuffer append: 15 ms.
StringBuilder append: 31 ms.
Times: 90000
Author:
By: cppmule
Email: cppmule@gmail.com
分享到:
相关推荐
C/C++ 字符串拼接 字符串 数组
C/C++是两种广泛使用的编程语言,特别是在系统级编程、游戏开发和高性能计算等领域。C++是C语言的扩展,引入了面向对象编程的概念。在编程过程中,理解并有效地使用库函数是至关重要的,因为它们提供了标准功能,...
C/C++复制字符串到剪粘板中 C/C++复制字符串到剪粘板中是指将字符串复制到剪粘板中,以便在其他应用程序中使用。这可以通过Win32 API和MFC来实现。 在Win32 API中,可以使用OpenClipboard、GetClipboardData、...
#二维码(QRcode)生成算法 C语言/C++ 源码 1. 根据输入字符串识别编码模式; 2. 根据输入字符串长度选择合适的QRcode版本; 3. 将编码转换为二进制位流表示为数据码字; 4. 使用多项式生成纠错码; 5. 将数据码和...
本话题主要探讨如何在C/C++和Java之间使用基本的字符串和数组操作实现AES加密解密,而不依赖任何额外的加密库。 首先,我们来了解AES加密的基本原理。AES基于块密码,每个数据块为128位,支持128、192和256位的密钥...
工作原因c和java都得熟悉,因此把java端和c/c++实现都给大家了,注意java端要明确指明字符集为GBK,因为各版本jdk默认字符集并不一致,key采用16位,你知道的。压缩包里有两个工程,一个vc6.0一个myeclipse,本帖是...
c 字符串拼接C/C++中针对字符串函数的使用过程中,需要格外注意字符串终止符'\0'。字符串结尾处默认带'\0'。 带形参n的库函数可以有效防止因字符串长度过长导致的段错误,建议使用带n的字符串函数。 一 、snprint数...
c / c++ / cpp / stl 中文帮助文档手册chm格式下载 C/C++ 语言参考 基本C/C++ 预处理命令 操作符优先级 转义字符 ASCII码表 基本数据类型 关键字 标准 C 库: Standard C I/O Standard C String...
C/C++ API 帮助文档大全是一份全面的资源,包含了C和C++编程语言的各类API接口和函数的详细信息。这份文档通常以CHM(Compiled Help Manual)格式存在,这是一种由微软开发的、用于存储HTML帮助文档的压缩格式。通过...
这个文档压缩包包含普通C/C++中文文档和蓝桥杯比赛时用的文档,C/C++中文文档是最新版,支持到C++20和C18,且包含以前版本的内容。蓝桥杯蓝桥杯C/C++组用的文档比正常文档更简略,但包含了ASCII码表。
c 字符串拼接C/C++中针对字符串函数的使用过程中,需要格外注意字符串终止符'\0'。字符串结尾处默认带'\0'。 带形参n的库函数可以有效防止因字符串长度过长导致的段错误,建议使用带n的字符串函数。一 、snprint数的...
对于JDK,可以从SUN公司(现已被Oracle收购)的官方网站下载最新版本,按照默认设置安装,假设安装路径为C:\j2sdk1.4.2_15。在Visual C++中,我们需要在Tools -> Options的Directories标签页下,添加JDK的Include和...
根据提供的信息,我们可以详细探讨几个重要的C语言字符串处理函数,这些函数是进行字符串操作的基础工具。下面我们将逐一介绍这些函数的功能、用法以及提供具体的示例代码。 ### 1. stpcpy #### 功能 `stpcpy` 函数...
C/C++参考手册是专为C语言开发者制作的一个学习文档,包含了基本的介绍、预处理命令、算法、正则表达式、转义字符、基本数据类型等介绍,可以方便开发者快速掌握C语言的开发技巧,让你轻松开发出满意的软件。
例如,`%6.9s`表示显示长度不小于6且不大于9的字符串,如果超过9,则第9个字符之后的内容会被截断。 此外,`l`(小写L)可以用来指定长整型(`long`)或双精度浮点型(`double`),如`%ld`和`%lf`。 对齐方式可以...
工作原因c和java都得熟悉,因此把java端和c/c++实现都给大家了,注意java端要明确指明字符集为GBK,因为各版本jdk默认字符集并不一致,key采用16位,你知道的。压缩包里有两个工程,一个vc6.0一个myeclipse,都拿去...
基于C/C++及java开发的物联网智能婴儿床+源码+文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于C/C++及java开发的物联网智能婴儿床+源码+文档,适合毕业...
C/C++实现字符串的拆分截取,输入一个字符串,并输入截取起始位置和截取长度,返回截取到的结果
在C/C++编程中,将字符串转化成数字是一项常见的任务,尤其在处理用户输入或解析数据时。这个程序可能涉及到将表示任意进制的字符串转换为对应的整数值。以下是关于这个话题的一些详细知识点: 1. **字符串与数字的...