假设我有一个 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 程序性能的“标准/通用”方法吗?