ニュース

Google、JavaScriptのベンチマーク“Octane”の開発を終了

今後はベンチマークよりも実際のWebサイトを速度測定の指標に

公式ブログ“Chromium Blog”

 米Google Inc.は12日(現地時間)、JavaScriptのベンチマークスイート“Octane”の開発を終了することを明らかにした。

 “Octane”は、“SunSpider”を代表とする初期のマイクロベンチマークにおける弱点を克服するため、2012年にリリースされた。というのも、特定の機能にフォーカスしたマイクロベンチマークは、現実におけるWebブラウザーの利用状況に必ずしも即しているとはいえないためだ。そればかりかベンチマークそのものをターゲットにした局所最適化を招き、一般的な利用ケースではむしろ動作低下を招くことすらあった。

 しかし、“Octane”自身もそういったベンチマークスイートの宿命から逃れられなかったようだ。

 近年では多くのJavaScript実装が“Octane”で高いスコアを出すためにさまざまな最適化を施しているが、それは最新のフレームワークやライブラリで採用されている技法とは必ずしも合致しない。また、最近のWebアプリケーションでボトルネックとなっているフレームワークの読み込みといった処理を計測するにも不十分であるという。

 さらに悪いことに、“Octane”への最適化が実際の利用シナリオに悪影響を及ぼす例もみられるようになった。たとえば、“Octane”で高いスコアを出すには関数を積極的にインライン展開する必要があるが、このことはコンパイルコストと利用メモリの増大を招いている。

 また、“Octane”の小さなバグが最適化のターゲットになる例もみられるという。たとえば“Box2DWeb”ベンチマークでは、2つのオブジェクトを“<”と“>=”演算子で比較するというバグを利用することでパフォーマンスが約15%させることが可能だ。しかし、これは現実での利用シナリオには効果がなく、より一般的な最適化を困難にするだろう。

 こうした問題は“Kraken”や“JetStream”といった他の静的または合成ベンチマークにも少なからず存在する。そこで同社はベンチマークスイートを基準にした速度評価よりも、よりモダンなライブラリ、フレームワーク、最新のJavaScript仕様を盛り込んだスクリプトパターンによる評価を採用していく方針だという。