Googleが添削したJavascriptベンチを取ってみた
「GoogleはライバルのWebベンチマークツールを批判して勝手に改作--Chromeに有利な結果が」に、GoogleがSunspiderとKrakenの修正版を発表しています。
SunspiderはJavascriptベンチとしては寿命が来ていると以前から言われています。それは軽すぎるためです。このため、Googleの50回版バージョンはオリジナルよりも重くできるため、良いでしょう。Krakenの修正は私はわかりません。
とりあえず、Googleが添削したSunspiderとKrakenをオリジナルと比較してとってみました。
左がオリジナルで、右がGoogle添削バージョンです。boldが劇的に速度が向上した箇所です。Chromeは良い数字が出ています。
特にSunspiderに関しては、向上率がかなり高いです。"Javascriptベンチを取ってみた(May 2,2011)"ではっきりとわかると思いますが、Chromeで唯一後塵を拝しているベンチはSunspiderです。要因はGoogleの言い分とおりでしょう。やはりある程度重くないと置換しているオーバーヘッドだけが時間がかかってしまうのでしょうね。
この世に公正なベンチマークは存在しないと思っています。スパコンの優劣を決めるTop500で使用されているLINPACKも実用的なベンチマークではないと言われていますし、昨今の事情を考えれば、消費電力を加味したGREEN 500の方がより重要な気がします。
このため、Googleのやり方は別におかしくはありません。これはJavascriptエンジンの開発競争なのですから、そのものさしも重要です。
ただし、私はV8 Benchbark Suite(以下V8 Bench)も直して欲しいところがあります。それはばらつきがあるところです。Chrome 11.0.696.65でV8 Bench(v6)とKraken(V1.0)を50回実施すると以下の様になります(3000回やりたいですが無理)。
Bench | 平均 | 最大 | 最小 | 標準偏差 |
V8 Bench | 9,007 | 9,377 | 8,663 | 177 |
Kraken | 5,613 | 5,666 | 5,576 | 17 |
V8 Benchはぶれやすいのです。これはスコア(V8 Bench)とタイム(Kraken)の差かも知れませんが、比較する場合には都合がよくありません。ベンチを複数回実施して平均などを取るべきだというのもあるかも知れませんが、一般ユーザでそれほど回数を実施することは時間と労力的にはできません。このため、確認だけならば1回しか実施しないでしょう(本ブログのJavascriptベンチはV8 Bench以外は1回で、V8 Benchは10回で最高値を選択)。
このため、V8 Benchを実施するときは、ソース置き場にあるun_kai_6.htmlで実施しています。これならば50回やっても、ボタン一個で集計までしてくれます(標準偏差は出していませんが)。
V8 Benchは、ばらつきが出やすいのでできれば修正して欲しいものです。
このようにベンチマークはどのようにでも作ることができます。現在のJavascriptベンチで一番不足しているのがWeb Worker対応だと思います。これで大きく性能向上は果たしますが、5大ブラウザの中で唯一IEが未サポートです。
現在のPCはマルチコア化が進み2コアはデフォルトになりましたし、4コア(or スレッド)は一般的になろうとしています(ブラウザからはコア数が見えないんですよね)。スマートフォンやメディアタブレットもデュアルコアが出てきています。このため、そろそろWeb Worker対応Javascriptベンチが出てきても良いと思っていますし(既に少しはある)、それをアピールの材料にしても良いと思うのです。もっと重いJavascriptアプリを作れると言うことをアピールできるのではないかと思います。
Javascriptベンチの添削と言えば、IE Test Driveをぜひとも修正して欲しいものです。他のブラウザでも動く程度の軽くして、ベンチ結果もトータルで出すことができるようにして欲しいです。IE Test Drive以外は、複合的なベンチマークです。このため、このあたりももう少し考慮にしたものを作って欲しいです。今のままなら、比較するためのベンチとしては実質使えません。
話はそれますが、OperaがGoogleやMozillaの様に"Opera Next"と次版のアルファ・ベータ版として出すようになりました。
上がOpera Nextで下が通常のOperaです。メニューがOperaカラー(赤)ではなく、青色です(ちょっと新鮮)。Opera NextはOperaと同時起動ができます。このあたりは、Chrome stable/beta/devとChrome canaryとの関係に似ています。Firefoxはできません。ベンチを取るためにはこちらのほうが便利です。他のブラウザメーカもまねて欲しいですね。
さて、SafariとIE(IEはppがあるが、ブラウザとしては使えない)はどうするのでしょうか。他のブラウザメーカに追随するのでしょうか。それとも旧来の仕組みを続けるのでしょうか。ブラウザ競争は、将来も含めて評価される時代に来たようです。