今天我进行了一个简单的测试,比较了Java和C之间的速度 - 一个简单的循环让整数"i"从0增加到20亿。
我真的期望C语言比Java更快。但结果却让我感到惊讶:
Java所需的时间(以秒为单位):约1.8秒
C所需的时间(以秒为单位):约3.6秒
我不认为Java是一种更快的语言,但我也不明白为什么在我的简单程序中,Java中的循环速度是C的两倍?
我在程序中犯了一个重要错误吗?或者MinGW的编译器配置有问题吗?
我真的期望C语言比Java更快。但结果却让我感到惊讶:
Java所需的时间(以秒为单位):约1.8秒
C所需的时间(以秒为单位):约3.6秒
我不认为Java是一种更快的语言,但我也不明白为什么在我的简单程序中,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;
}