我们需要加热多少次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

上一篇: How many runs of Java program do we need to warm

下一篇: defined search term(s) for query