Firefoxに搭載されている実行時コンパイラ(JIT)が、11月にリリース予定のバージョン83から大幅に高速化されることがわかりました。バージョン83は記事作成時点ではNightly版で提供されています。

Dogfooding Warp

https://groups.google.com/g/mozilla.dev.platform/c/1PHhxBxSehQ

Firefox's JIT is getting significantly faster | Hacker News

https://news.ycombinator.com/item?id=24590174

JITとは、頻繁に実行するコードをあらかじめコンパイルしておくことで、コードの実行速度を向上させる技術のこと。ウェブブラウザはJITを備えることでJavaScriptを高速に実行し、快適なウェブブラウジングを実現しています。

これまでFirefoxに搭載されていたJITコンパイラ「IonBuilder」は、複雑でセキュリティ上の懸念があり、余計な処理が含まれていたとのこと。新しく開発されたJITコンパイラ「WarpBuilder」では、内部の型情報を削減やキャッシュの最適化を行い、構造をシンプルにすることで、パフォーマンスが5%〜10%ほど向上していると報告されています。

Firefox 83のNightly版は以下からダウンロードすることができます。

Firefox Nightly 83.0a1, See All New Features, Updates and Fixes

https://www.mozilla.org/en-US/firefox/83.0a1/releasenotes/

今回は「Nightly版のFirefoxでWarpBuilderをオフ」「Nightly版のFirefoxでWarpBuilderをオン」「Chrome」でSpeedometerによるベンチマークを行ってみました。まずはWarpBuilderをオフにしたFirefoxの結果が以下。



Nightly版のFirefoxでWarpBuilderをオンにした結果がこれ。WarpBuilderをオフにした場合よりもベンチマーク結果が大幅に向上しています。



Chromeの結果はFirefoxでWarpBuilderをオフにした場合とオンにした場合の中間あたり。



なお、WarpBuilderが利用できるFirefox 83の正式版は2020年11月17日にリリース予定です。