簡體   English   中英

如何使用Eclipse查找Java方法/代碼的運行時間/基准?

[英]How to find elapsed time/benchmark a Java method/code using Eclipse?

我正在嘗試找到一種干凈的方法來查找經過的時間。 換句話說,我想找到給定代碼段執行所花費的時間。

我知道以下兩種方法:

1>

long start = System.nanoTime();
// Code to measure
long elapsedTime = System.nanoTime() - start;

2>

long start = System.currentTimeMillis();
// Code to measure
long elapsedTime = System.currentTimeMillis() - start;

但是從我必須用基准測試代碼填充原始代碼的角度來看,這兩種方法是骯臟的,之后基准測試結束時,我將不得不記住刪除代碼。

我正在尋找一種受Eclipse /任何其他IDE支持的更干凈的方法,在該方法中,我標記了要進行基准測試的代碼,就像我們指定斷點一樣,並且Eclipse會在到達那部分代碼時向我顯示經過的時間。

Eclipse /任何其他IDE中是否有可用的此類方法?

我推薦Perf4j perf4j.codehaus.org

在課程頂部設置一個字段

private static final boolean DEBUG_THIS=true;

然后,當您有要使用的行時,將其像這樣放置:

if (DEBUG_THIS){
    Log.v("Tag","It took " + System.currentTimeMillis() - start + " ms");
    // perhpas some other debug code
}

然后,當您感到厭倦或完成調試時,在頂部更改一行代碼

private static final boolean DEBUG_THIS=false;

您可以將所有調試代碼保留在原處,如果您再次需要它,則可以在任何地方使用,而在運行版本中則不花任何錢。

您可以為該代碼編寫一個JUnit測試。 Eclipse的JUnit插件將向您顯示運行測試所花費的時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM