Dart2js が手書きのJavaScriptを上回った直後に、最新のDart VMは、JVM 7 64-ビットサーバーと他のバージョンにDeltaBlueベンチマークで勝った。
Nikolay Botev氏は、DeltaBlueベンチマークをDartからJavaに移植して、Dart-22416 (最新の安定版リリース) と Dart-22577 (ナイトリービルド)、そして幾つかのJavaクライアントバージョンに対してこのベンチマークを走らせて、以下の結果 を自分のブログに載せた。
第一列は、テストの1イテレーションを実行するのに必要とする時間をマイクロ秒で表し、第二列は、1秒に何回実行したか、上のグラフの DeltaBlueスコアを表している。
我々もSSDを持つ8コアの AMD FX-8350 マシンで,、同じテストを実行したが、今回JVM 7 64-ビットサーバーに対して、各テスト10回行った平均は、以下のようになった。
VM | 平均時間 (us) | スコア |
Java HotSpot(TM) 64-ビット サーバー VM 1.7.0_21 23.21-b01 | 1808.18 | 553.04 |
Dart-22416 | 1885.02 | 530.5 |
Dart-22610 | 1610.48 | 620.93 |
我々のテストでは、Dart VM は、JVMより12%パフォーマンスが良く、これはBotevの結果と一致している。
Greg Lowe氏が数カ月前DeltaBlueをJVM と Dart VMで走らせた結果を載せた。しかし彼のベンチマークは、Javaで書かれたSunのオリジナルのDeltaBlueコードを使っており、ウォームアップ時間を含んでいる。
Loweの結果は、テストの1000回の繰り返しまでは、Dartが良いが、1万回を超えるとJava のほうが良い。もっと新しい Dart VMを使ったBotevの最新のテスト結果で、Dartグループに対するLoweのコメントは、
。
パッと見たところ、10万回の繰り返しでもDartVM がJVM に勝つようになりました(以前、Java は、より大きな繰り返しでDart に勝っていた)。
私のマシンで100,000 回の繰り返しを実行するのに 約45秒かかります。
より少ない繰り返しでは、DartVM は、かなりの余裕でJVMに勝ちます。
我々は、1つのベンチマークに基づいて最終的な結論を導き出すことはできないが、私たちは、間違いなく、Googleは、DartVMが重要な挑戦者になるレベルまで、そのパフォーマンスを高めた、と言うことができる。