如何测量Java代码所花费的时间?
这个问题在这里已经有了答案:
您甚至可以使用System.nanoTime()
获得纳秒级分辨率。
但是,您可能需要考虑以下几点:
我如何在Java中编写正确的微基准测试?
假设你有一种特定的方法,你想放在显微镜下。 你可以这样做,如下所示:
long time1 = System.nanoTime();
thatMethod();
long time2 = System.nanoTime();
long timeTaken = time2 - time1;
System.out.println("Time taken " + timeTaken + " ns");
计算机速度非常快,所以使用getTimeMillis()
时可能会发生时差,可能为零。 因此,使用nanoTime()
你也可以使用Caliper
。 他们有一个视频开始。 另外,请仔细阅读creichen
指出的答案。 它有很多很棒的东西。
使用Speed4j等库。 这不仅需要对呼叫进行基准测试,还需要提供日志统计信息,您还可以通过JMX远程查看它们。 最好使用这样的库,而不是将System.current ..调用放在代码中。
链接地址: http://www.djcxy.com/p/86537.html