-1

一段时间以来,我一直在使用System.nanoTime()它来衡量代码完成所需的时间。最近这对我来说是一个很大的困扰。有没有其他测量方法?

我在 Eclipse 中运行 Java。

4

3 回答 3

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

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

JavaDoc

于 2013-10-20T23:56:19.713 回答
0

您可能想尝试 StatsD:

https://github.com/youdevise/java-statsd-client

自述文件中的示例:

statsd.recordExecutionTime("bag", 25);

bag是您想要记录时间的方法。

于 2013-10-21T00:01:37.587 回答
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()结尾分别键入即可。

于 2013-10-21T00:03:01.757 回答