昨年、Google は C++、Java、Scala、Go を比較するベンチマークを公開しました。 http://readwrite.com/2011/06/06/cpp-go-java-scala-performance-benchmark 表の結果が疑わしいので、https://code.google.com/からコードをダウンロードしました。 p/multi-language-bench/source/checkoutを実行し、自分でコードを実行しました。奇妙なことに、私は非常に異なる数値を取得しました。私は決してコードを変更しませんでした。コンパイルして実行しただけです。Googleによると、実行時間(秒単位)は次のとおりです。
C++ - 23
Java 64bit - 134
Scala - 82
しかし、私のマシンでは
C++ - 13
Java - 14
Scala - 17
速度のはるかに小さい差。これは単純に、Google が過去 1 年間にこれらのベンチマークのコードを改善したためでしょうか? それとも、JVM の改善に関係しているのでしょうか? ところで。Java 1.7.0 64 ビット、Scala 2.10.0-RC2、および -O2 を指定した gcc 4.7.0 を使用しています。