7

重複の可能性:
Javaで正しいマイクロベンチマークを作成するにはどうすればよいですか?

2つのアルゴリズムがあるとしましょう。どちらがパフォーマンスが高いかを確認するにはどうすればよいですか?

つまり、数学的に証明することはできますが、いくつかのライブラリを使用すると、面倒になる可能性があります。私は数学なしで正しいベンチマークを行う方法を学びませんでした。

4

1 に答える 1

7

簡単な方法は を使用することtesting.Benchmarkです: 次のように書くだけです

object Bench extends testing.Benchmark {
  // initialize your data here
  def run() {
    // code to benchmark here
  }
}

これscala Bench 5 1000000は、メソッドの 1000000 回の繰り返しの 5 セットのタイミングを提供しますrun()。各セットのタイミングを比較して、一貫性があることを確認できます (通常、最初のセットは JVM のウォームアップにより遅くなります)。

Java マイクロベンチマーク フレームワークである Caliper を使用したより厳密なアプローチについては、ブログ投稿http://www.decodified.com/scala/2011/04/19/microbenchmarking-scala-codeを参照してください。

于 2012-10-12T04:14:31.637 に答える