[英]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.