今天我做了一个简单的测试来比较java和c之间的速度——一个简单的循环,使整数“i”从0增加到20亿。
我真的希望 c 语言比 java 更快。我对结果感到惊讶:
java 所花费的时间(以秒为单位):约. 1.8秒
c: 大约所需的时间(以秒为单位)。3.6秒。
我根本不认为 java 是一种更快的语言,但我也不明白为什么在我的简单程序中循环速度是 c 的两倍?
我是否在程序中犯了一个严重的错误?或者是MinGW的编译器配置不好还是什么?
public class Jrand {
public static void main (String[] args) {
long startTime = System.currentTimeMillis();
int i;
for (i = 0; i < 2000000000; i++) {
// Do nothing!
}
long endTime = System.currentTimeMillis();
float totalTime = (endTime - startTime);
System.out.println("time: " + totalTime/1000);
}
}
C 程序
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
int main () {
clock_t startTime;
startTime = clock();
int i;
for (i = 0; i <= 2000000000; i++) {
// Do nothing
}
clock_t endTime;
endTime = clock();
float totalTime = endTime - startTime;
printf("%f", totalTime/1000);
return 0;
}