0

我正在寻找测量java中具体方法的执行时间。更准确地说,我实现了 System.nanoTime() 方法而不是 System.currentTimeMillis():

long startTime = System.nanoTime(); 
ServerRequestState state = (ServerRequestState) search.getGoalState();
long endTime = System.nanoTime();               
long elapsedTime = (endTime - startTime) / 1000000; // time in ms

但这对我不起作用,方法在 30 到 40 秒后运行,但变量 elapsedTime 的结果显示只有 4 毫秒,在某些情况下为 1 毫秒。

任何想法为什么这不起作用?

4

1 回答 1

6

1 毫秒 == 1,000,000 纳秒。

我会推荐使用 Guava 的秒表来做你正在做的事情。

于 2012-10-21T17:56:42.813 回答