最近在做一个项目的语言造型,一时性起做了一个JAVA和C++的性能对比测试,结果很难让人相信:
在对字符串做比较操作的测试中JAVA的速度竟然比C++快不少。我把代码贴在这里,希望C++的高手来分析一下,是不是我的C++程序有问题:
C++代码:
#include <iostream>
using namespace std;
void compTest(){
time_t t1,t2;
string s1="abcdefghijklmnopqrstuvwxyz";
string s2="abcdefghijklmnopqrstuvwxy1";
time(&t1);
for(int j=0; j<10; j++)
for(int i=0; i<10*1024*1024; i++){
if(s1.compare(s2) != 0){
string s3 = s2;
}
}
time(&t2);
cout << t2-t1 <<"seconds eclapsed!/n";
}
int main()
{
compTest();
return 0;
}
JAVA代码:
import java.util.*;
public class tt5{
void compTest(){
long t1, t2;
String s1="abcdefghijklmnopqrstuvwxyz";
String s2="abcdefghijklmnopqrstuvwxy1";
t1 = Calendar.getInstance().getTimeInMillis()/1000;
for(int i=0; i<10; i++){
for(int j=0; j<10*1024*1024; j++){
if(s1.compareTo(s2) != 0){
String s3 = new String(s2);
}
}
}
t2 = Calendar.getInstance().getTimeInMillis()/1000;
System.out.println("Comparason over and " + (t2-t1) + "seconds eclapsed!");
}
public static void main(String[] args){
tt5 mtt = new tt5();
mtt.compTest();
}
}