int main() { int i,j; int num = 1000000; time_t t1; time(&t1); for ( i = 0; i < num; i++) { char a[10000]=""; for( j=0; j<300; j++) { int len = strlen("hello"); strncpy(a+j*5,"hello",len); } } time_t t2; time(&t2); printf("%d %d\n",t1,t2); printf("%d\n",t2-t1); } int main() { int num = 1000000; time_t t1; time(&t1); for (int i = 0; i < num; i++) { std::string sb; sb.reserve(10000);//这行代码如果注释掉,那么运行时间是11秒 for(int j=0; j<300; j++) { sb.append("hello"); } } time_t t2; time(&t2); std::cout<< t1 <<" " <<t2 <<"\n"; std::cout<< t2-t1<<"\n"; } int main() { int num = 1000000; time_t t1; time(&t1); for (int i = 0; i < num; i++) { std::stringstream ss; for(int j=0; j<300; j++) { ss<<"hello"; } } time_t t2; time(&t2); std::cout<< t1 <<" " <<t2 <<"\n"; std::cout<< t2-t1<<"\n"; }
public static void main(String[] args) throws Exception { long t1 = System.currentTimeMillis(); int num = 1000000; for (int i = 0; i < num; i++) { StringBuilder sb = new StringBuilder(); for (int j = 0; j < 300; j++) { sb.append("hello"); } } long t2 = System.currentTimeMillis(); System.out.println(t2 - t1); }