7

私が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プログラムのパフォーマンスを測定するための「標準/一般的な」方法ですか?

4

1 に答える 1

4

独自のマイクロ ベンチマーク ユーティリティを作成するよりも、Caliperを使用することをお勧めします。

Java で正しいマイクロベンチマークを作成するにはどうすればよいですか?

于 2012-08-16T17:41:06.800 に答える