各フォークは、各仮想マシンインスタンスはJIT指示のわずかな違いで実行可能性があることを理由別の仮想マシンを作成しIIUC場合は?私も時間属性は以下の注釈に何をするかについて興味JMH @Forkの目的は何ですか?
:
@Warmup(iterations = 10, time = 500, timeUnit = TimeUnit.MILLISECONDS)
@Measurement(iterations = 10, time = 500, timeUnit = TimeUnit.MILLISECONDS)
TIA、 オレ
私はあなたの質問に答えます:http://stackoverflow.com/questions/25572778/why-does-jmh-run-different-forks – Tunaki
したがって、IIUC、各フォークは別のVMで実行されます。実行される各VMに微妙な違いがあるため、ランタイムが異なるため、これを考慮して分散計算を行うことができます。 – Ole
ええ、JITの振る舞いにおける各実行の違いによって、フォークがそれを考慮に入れることができます。ベンチマークを実行しているとき、JITが処理を異なる方法で実行しているため、あるテストではある平均値を持ち、同じテストで別のテストを実行すると非常に奇妙なケースがありました。 – Tunaki