用Java编写微基准测试时需要非常小心。例如:
如果JIT编译器可以弄清楚循环体不影响代码结果,则可以对其进行优化。例如:
for (int i = 0; i < 1000000; i++) { int j = i + 1;}
可能很快就会“运行”。
JIT编译后,代码的运行速度大大提高。
在进行JIT编译时,代码运行似乎会慢很多。
如果代码分配了对象,则由于GC运行,初始或最大堆大小太小等原因,您需要考虑测量性能的潜在可变性。
当然,性能将取决于您的硬件, *** 作系统,JVM的版本和补丁程序级别以及JVM启动选项。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)