一段时间以来,我一直在使用System.nanoTime()
来衡量代码完成所需的时间。最近这对我来说是一个很大的干扰。有没有其他方法可以衡量它?
我在Eclipse中运行Java。
答案 0 :(得分:0)
import java.lang.management.ManagementFactory;
import java.lang.management.ThreadMXBean;
long time = ManagementFactory.getThreadMXBean().getThreadCpuTime(Thread.currentThread().getId())
答案 1 :(得分:0)
您可能想尝试StatsD:
https://github.com/youdevise/java-statsd-client
自述文件中的示例:
statsd.recordExecutionTime("bag", 25);
bag
是您想要记录时间的方法。
答案 2 :(得分: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()
。