我的C代码是:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void){
char* a = (char*)malloc(200000);
for (int i = 0;i< 100000;i++){
strcat(a,"b");
}
printf("%s",a);
}
我的C ++代码是
#include <iostream>
int main(void){
std::string a = "";
for (int i = 0;i< 100000;i++){
¦ a+="b";
}
std::cout<<a;
}
在我的机器上,C代码运行大约5秒钟,而在我的机器上,C ++代码运行在0.025!秒。
现在,C代码不检查溢出,没有C ++开销,类,但是比我的C ++代码慢了很多。
在Raspberry Pi上使用-O3编译的gcc / g ++ 6.2.0。
答案 0 :(得分:0)
@erwin是对的。
当我将代码更改为
时NSTimeInterval interval = [[NSDate date] timeIntervalSince1970];
NSString *dateStarted = [NSString stringWithFormat:@"/Date(%.0f)/", interval * 1000];
运行大约需要.012秒(主要是打印大屏幕)。