测量Java的执行时间不起作用

时间:2012-10-21 17:54:34

标签: java

我正在寻找测量java中concret方法的执行时间。更确切地说,我实现了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秒之后运行,但变量elapsed的结果只表示4毫秒,在某些情况下为1毫秒。

为什么这不起作用?

1 个答案:

答案 0 :(得分:6)

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

我会建议使用Guava的Stopwatch做你正在做的事情。