繁体   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