Firefox nightly build 中的 JIT 編譯效能顯著提高

В 每晚建構 火狐瀏覽器 包括 更新了 JIT 編譯器, 發達 代號為 WarpBuilder。 為了啟用新的 JIT,about:config 中提供了「javascript.options.warp」選項。
值得注意的是,WarpBuilder 只是將新最佳化納入瀏覽器的第一步,計劃在明年實施。

新的 JIT 透過減少引擎內追蹤的內部類型資訊並使用先前的中間程式碼快取 (CacheIR) 技術,提高了 SpiderMonkey JavaScript 引擎的效能 建議的 在「基線」字節碼解釋器中,它佔據了常規解釋器和預 JIT 編譯器之間的中間位置。 這些變化使得顯著簡化 JIT 架構、提高回應能力、減少頁面載入時間並減少記憶體消耗成為可能。

著名的新的 JIT 解決了舊的 JIT IonBuilder 的許多問題,例如:

  • 實施的複雜性和潛在的安全問題;
  • 基線/C++ 程式碼的額外開銷;
  • 過度專業化導致不必要的重新編譯;
  • 產生中間程式碼 MIR (中間層IR)在主執行緒中(在WarpBuilder中,中間程式碼的主編被放置在單獨的執行緒中);
  • 用於儲存有關類型和物件組 (ObjectGroup) 的資料的額外記憶體消耗。

平均而言,在基於視覺指標評估表現的測試中,使用 WarpBuilder 時觀察到 5-15% 的加速。 車速表測試完成率提高了 10%。 在真實網站上的測試表明,Google 文件載入時間縮短了 企業排放佔全球 20%, 指數 速度指數 在 Reddit 上打開 Android 部分時改進了 企業排放佔全球 13%, pdfpaint 開始更快工作 企業排放佔全球 18%。 測試中的記憶體消耗 tp6 下降了8%。 指標 開發者工具(devtools perf)的統計數據也顯示記憶​​體消耗減少了 8%。

來源: opennet.ru

添加評論