The Mozilla Foundation

MozillaのJavaScriptチームは12日(米国時間)、Firefox 18に「IonMonkey」を取り込んだことを発表した。IonMonkeyはJavaScript向けに開発されたJITコンパイラの新たなアーキテクチャ。FirefoxではJavaScriptエンジンとして「SpiderMonkey」を採用しているが、IonMonkeyを有効にすることでJavaScriptのパフォーマンスや保守性が向上するという。

SpiderMonkeyにはこれまで、TraceMonkeyやJägerMonkeyといったJITコンパイラを採用してきた。これらのJITコンパイラはJavaScriptから機械語に直接変換を行なっており、中間となるステップが存在せず、変換から更なる最適化を行う処理がなかった。IonMonkeyはこの問題を解決するために開発されたアーキテクチャで、JavaScriptを中間表現に変換し、その中間表現に対して様々なアルゴリズムで最適化を行い、機械語に変換するという処理を行う。

開発チームはIonMonkeyでどれだけJavaScriptが高速になったかをFirefox 15/Firefox 17/Firefox 18で、Kraken benchmark及びGoogle V8 benchmarkを利用して比較している。Google V8 benchmarkではFirefox 17比で7%、Firefox 15比で20%の違いが見られ、Kraken benchmarkではFirefox 17では2602msかかった処理がFirefox 18では1921msで終わったという。

Google V8 benchmarkdでの結果

Kraken benchmarkでの結果

IonMonkeyはすでにFirefox NightlyであるFirefox 18のデスクトップ版で標準で有効になっており、モバイル版Firefoxでも間もなく有効になるとしている。スケジュールではFirefox 18は10月8日にAuroraへ、11月20日にBetaと移行する予定となっている。