0
我正在尋找測量java中混合方法的執行時間。更精確地說我已經實現System.nanoTime()方法,而不是System.currentTimeMillis的():測量Java的執行時間不起作用
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毫秒。
任何想法爲什麼這不起作用?
我在複製代碼時已經做了勘誤。感謝您的建議。 – jaumevn
那麼你可能沒有測量實際採取那些30到40秒的內容。通過'Thread.sleep(30000L)'將調用替換爲'search.getGoalState()',您將看到代碼的經過時間測量爲30000 ms。 –