com*_*ism 3 java performance timing
我试图通过使用System.currentTimeMillis()(或者替代System.nanoTime())来计算我的程序的性能,并且我注意到每次运行它时 - 它给出了完成任务所花费的时间的不同结果.
即使是直截了当的测试:
long totalTime;
long startTime;
long endTime;
startTime = System.currentTimeMillis();
for (int i = 0; i < 1000000000; i++)
{
for (int j = 0; j < 1000000000; j++)
{
}
}
endTime = System.currentTimeMillis();
totalTime = endTime-startTime;
System.out.println("Time: " + totalTime);
Run Code Online (Sandbox Code Playgroud)
产生各种不同的输出,从0到200.任何人都可以说我做错了或建议替代解决方案?
循环不执行任何操作,因此您需要计算检测循环所需的时间是没有意义的.
更准确地定时循环无济于事,您需要做一些有用的事情来获得可重复的结果.
-server如果您在32位窗口上运行,我建议您尝试一下.
十亿亿个时钟周期大约需要10年时间,因此它不会多次迭代.
| 归档时间: |
|
| 查看次数: |
168 次 |
| 最近记录: |