Firefox の夜間ビルドで JIT コンパイルのパフォーマンスが大幅に向上しました

В 夜間のビルド Firefoxの 含まれています 更新された JIT コンパイラ、 発展した コードネームはWarpBuilder。 新しい JIT を有効にするために、「javascript.options.warp」オプションが about:config で提供されます。
WarpBuilder はブラウザに新しい最適化を組み込むための最初のステップにすぎず、来年にかけて実装される予定であることに注意してください。

新しい JIT は、エンジン内で追跡される内部型情報を削減し、以前は中間コード キャッシュ (CacheIR) 技術を使用することにより、SpiderMonkey JavaScript エンジンのパフォーマンスを向上させます。 提案された 「ベースライン」バイトコード インタプリタでは、通常のインタプリタと JIT 以前のコンパイラの間の中間ニッチを占めます。 これらの変更により、JIT アーキテクチャが大幅に簡素化され、応答性が向上し、ページの読み込み時間とメモリ消費量が削減されました。

それは注意されます新しい JIT は、古い JIT IonBuilder の次のような多くの問題を解決しました。

  • 実装の複雑さと潜在的なセキュリティ問題。
  • ベースライン/C++ コードの追加オーバーヘッド。
  • 過度の特殊化により不必要な再コンパイルが発生します。
  • 中間コードの生成 MIR (中間レベル IR) メイン スレッド内 (WarpBuilder では、中間コードのメイン アセンブリは別のスレッドに配置されます)。
  • オブジェクトのタイプとグループ (ObjectGroups) に関するデータを保存するための追加のメモリ消費。

平均して、視覚的な指標に基づいてパフォーマンスを評価するテストでは、WarpBuilder を使用すると 5 ~ 15% の高速化が観察されます。 スピードメーターテストの完了率が10%向上しました。 実際のサイトでのテストでは、Google ドキュメントの読み込み時間が次のように短縮されることがわかりました。 視聴者の38%が、 索引 スピードインデックス Reddit で Android セクションを開いたときの動作が改善されました 視聴者の38%が、pdfpaint が高速に動作し始めました。 視聴者の38%が。 テスト時のメモリ消費量 tp6 8%減少しました。 指標 開発者ツールの統計 (devtools perf) でも、メモリ消費量が 8% 削減されたことが示されました。

出所: オープンネット.ru

コメントを追加します