执行一个循环需要多少时间?
有没有办法知道在Java中执行一个循环要花多少秒?
例如:
for(int i=0; i < 1000000; i++) {//Do some difficult task goes in here
}
它不必精确到100%,而只是想知道要花费多长时间。里面的算法是一种写入.txt文件的密钥生成器。我希望它花费几分钟,因此对于我的第一次测试,我想计算秒数。
回答:
用Java编写微基准测试时需要非常小心。例如:
如果JIT编译器可以弄清楚循环体不影响代码结果,则可以对其进行优化。例如:
for (int i = 0; i < 1000000; i++) { int j = i + 1;
}
可能很快就会“运行”。
JIT编译后,代码的运行速度大大提高。
在进行JIT编译时,代码运行似乎会慢很多。
如果代码分配了对象,则由于GC运行,初始或最大堆大小太小等原因,您需要考虑测量性能的潜在可变性。
当然,性能将取决于您的硬件,操作系统,JVM的版本和补丁程序级别以及JVM启动选项。
以上是 执行一个循环需要多少时间? 的全部内容, 来源链接: utcz.com/qa/425221.html