2013-10-20 150 views
-1

一段時間以來,我一直在使用System.nanoTime()來測量代碼完成所需的時間。最近這對我來說已經成爲一個很大的干擾。有沒有其他的方法來衡量它?代碼運行時間

我在Eclipse中運行Java。

+3

它是如何「很大的干擾」? – Justin

+2

@Quincunx大部分時間都能正常工作,但曾經有一次它吹倒了Alderaan。 –

+0

SO共識似乎是你目前的方法(使用'nanoTime()')很好:http://stackoverflow.com/questions/180158 –

回答

0
import java.lang.management.ManagementFactory; 
import java.lang.management.ThreadMXBean;  

long time = ManagementFactory.getThreadMXBean().getThreadCpuTime(Thread.currentThread().getId()) 

JavaDoc

0

如果您不喜歡每次都輸入,請上課定時。

例(靜態的,因爲我很懶惰,不想實例化一個對象):

public static class CodeTimer{ 
    static long start; 
    public static void start(){ 
     start = System.nanoTime(); 
    } 
    public static void end(){ 
     System.out.println(System.nanoTime() - end); 
     //could easily change it to print out time in seconds, with some 
     //String before it, to return a value, etc. 
    } 
} 

這是完全一樣的System.nanoTime()方法,但是現在你只需要鍵入CodeTimer.start()在在開始處和CodeTimer.end()結束。