大家好我已经开始学习Java了,我听说过它很慢.对于一个实验,我用C++和Java编写了两个似乎相同的程序
import java.util.*;
class Java {
public static void main(String args[]) {
long beg = System.currentTimeMillis();
for (int i = 0; i < 200000000; ++i) { }
long end = System.currentTimeMillis();
System.out.println(end - beg);
}
}
Run Code Online (Sandbox Code Playgroud)
输出334
#include <cstdio>
#include <ctime>
int main() {
double beg = clock();
for (int i = 0; i < 200000000; ++i) { }
double end = clock();
printf("%f\n", (end - beg) / double(CLOCKS_PER_SEC) / 1000.0);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出0.000810
我有点困惑.Java真的那么慢,或者我做错了什么?
你不能像这样微基准编程语言.
有成千上万的因素发挥作用.请记住,例如Java程序在虚拟机中运行需要一些时间才能启动.
一些基准测试会告诉你C++更快,其他人会说相反.它实际上归结为基准测试的作用.谷歌的Java c ++基准测试,你会发现很多种类.
现代JIT编译器可以执行任何C++编译器可以执行的大多数优化,因此对于纯数字运算算法,它们具有相似的性能数据.
| 归档时间: |
|
| 查看次数: |
713 次 |
| 最近记录: |