什么是计时系统的最佳计量单位

时间:2012-09-27 19:04:54

标签: java

我想计算一个程序在整个程序中执行多长时间。可以用System.nanoTime();计时,但最好的衡量单位最好分析程序吗?

4 个答案:

答案 0 :(得分:2)

完全取决于程序的性质,了解日志记录所需的分辨率。作为一般规则,我认为毫秒就足够了。

答案 1 :(得分:0)

错误:

long t1 = System.nanoTime();
// do something
long t2 = System.nanoTime();
System.out.println(t2 - t1); 

您也可以使用System.currentTimeMillis()(这可能更合适),这实际上取决于您尝试衡量的过程。

答案 2 :(得分:0)

毫秒是比纳秒更常见的,因为并非每个系统都具有这种保真度。

long t0 = System.currentTimeMillis();
// Time passes...
long t1 = System.currentTimeMillis();
long elapsedMillis = t1 - t0;

答案 3 :(得分:0)

旧版本的JVM不支持

System.nanoTime()。这些的精确度也可能取决于操作系统。 This article非常有趣,并且更多地解释了这种事情

我个人会使用System.currentTimeMillis(),因为它仍然非常准确,并且受旧VM支持。如果你想要更高的精度,那么我认为System.nanoTime()是你能得到的最好的。

This SO帖子对您也很有意思