我们需要加热多少次Java程序
假设我有一个Java程序Test.class
。 我想测量它的执行时间。 我写了一个包装来做到这一点如下:
class RunTest {
public static void main(String[] args) {
long sum = 0;
int iterations = 20;
int warmupNum = 10;
for(int i=0; i<iterations; i++){
long start = System.nanoTime();
Test.main(args);
long end = System.nanoTime();
if( i > warmupNum )
sum += end - start;
}
System.out.println("ave: "+sum/(iterations-warmupNum));
}
}
这里如何选择warmupNum
,越大越好? 多大就足够了? 这是衡量Java程序性能的“标准/通用”方式吗?
使用Caliper比创建您自己的微基准实用程序更好。
我如何在Java中编写正确的微基准测试?
链接地址: http://www.djcxy.com/p/62583.html