Google Chrome runs web pages and applications with lightning speed.

Googleは8日(米国時間)、ChromeのJavaScriptエンジンV8をさらに高速化する新技術「Crankshaft (クランクシャフト)」を開発したことを発表した。Intel 32ビット向けのChrome最新開発版にはすでに同機能が実装されているという。起動時間とピーク時性能の双方のケースで性能を向上させる技術で、場合によっては従来のV8エンジンと比較して2倍の性能を実現したものもあるという。ページの読み込み速度は12%ほど向上したという説明もある。

クランクシャフトのアイディアの根幹は、頻繁に繰り返し実行する部分は徹底的に最適化を実施して、そうでない場合には最適化を施さないというもの。この2つを徹底したことで大量のJavaScriptを含むページやWebアプリケーションの高速起動を実現しながらも、ピーク時の性能も向上させるという2つの高速化に成功している。

V8ベンチマーク結果 - Chromium Blog: A New Crankshaft for V8より抜粋

V8ベンチマーク結果 - Chromium Blog: A New Crankshaft for V8より抜粋

JavaScriptはまずベースコンパイラでコンパイルされる。V8の従来のコンパイラよりも2倍高速で、生成されるコードも30%サイズが削減されているという。実行中のコードをランタイムプロファイラが監視し、繰り返し実行される部分を最適化コンパイラが徹底的に最適化する仕組みになっている。

Chromeの搭載しているJavaScriptエンジンV8は登場当時からかなり高速だった。にもかかわらず、それから着実に性能を向上させている。最近ではOpera開発版と同程度の性能で、これにIE9やFirefox 4、Safari 5が詰め寄るという性能関係になっていた。ChromeにCrankshaftが導入されたことで、再びChromeがJavaScript実行最速の座を手に入れた可能性が高い。

今回Chromeに導入されたクランクシャフトは、Firefoxに最初に導入されたJavaScript高速化技術TraceMonkeyの発想に似ている。劇的な高速化が可能である反面、適用範囲が限られ、すべてのケースで高速化ができない。このためFirefoxはSafariやChromeで採用されている高速化技術を導入し、ピーク時性能だけではなくベースの実行速度向上に取り組んだ。

今度は逆にChromeにFirefox TraceMonkeyのようなピーク時性能高速化機能が導入されたことになる。すでに他のブラウザのJavaScriptエンジン開発者はクランクシャフトへの興味を寄せている。クランクシャフトの最適化のアイディアと実装は、ほかのブラウザのJavaScriptエンジンの実装にも影響を与える可能性があり、ほかのブラウザも同程度の高速化に取り組んでくる可能性がある。