Googleが同社のJavaScriptベンチマークスイートOctaneのバージョン2.0をリリースした。Octaneは17のテストにより、ブラウザが実装しているJavaScriptランタイムの実行速度を計測する。
最初のバージョンが出たのは1年あまり前だが、今度のバージョンではレイテンシの計測にとくに力が入れられた。また、JavaScriptの新しい技術の数々もテストされる。また2.0では、MozillaによるJavaScriptのサブセットasm.jsで書かれコンパイルされたコードへの、ブラウザの対応もテストできる。また、MicrosoftのコンパイラTypeScriptのテストも加わり、実行速度、コードパーサの性能、ブラウザのメモリサブシステムなどを測定する。
Googleがasm.jsをサポートしたことは、興味深い。このプロジェクトは、ブラウザ内のJavaScriptのパフォーマンスをネイティブコードのそれに近づけるMozillaの試みで、これをバージョン22以降搭載したFirefoxは、JavaScriptの実行速度でChromeを上回った(2012年のMacbook Airの上で2.5倍)。
Googleはasm.jsのパフォーマンスを測定するために、MozillaのテストスイートEmscripten用のサンプルコードzlibを使用している。Google自身はasm.jsの公式サポートに関心を示さず、すべてのJavaScriptをできるかぎり高速に走らす、という姿勢を固持している。そのGoogleが自社のベンチマークにasm.jsを加えたということは、このプロジェクトを相当意識している証拠だ。Chromeにおける‘できるかぎり高速に走らす’の対象に、いずれasm.jsも含まれるのかもしれない。
これらのほかに、Googleの技術者たちと“レイテンシ退治屋”Hannes Payerによると、既存のベンチマークにも多くの手を加え、“それらが意図したとおりの測定を行う”ために改良した。既存のベンチマークとは、GameBoyエミュレータ、正規表現テスト、OctaneのCodeLoad、DelataBlue、NavierStokesテストなどだ。テストの全容とそれらの説明を、ここで見られる。
ぼくのMacbook Airの上で非公式に試してみたところ、Firefox 25とSafari 7.0では得点が10000強、対してChrome 30では14000強だった。またSurface Pro + Internet Explorer 11では約8500点、Chrome 30はやはり14000点となった。
[原文へ]
(翻訳:iwatani(a.k.a. hiwa))