В Firefox aktualizovaný kompilátor JIT, s kódovým označením WarpBuilder. Chcete-li povolit nový JIT, je v about:config k dispozici možnost „javascript.options.warp“.
Je třeba poznamenat, že WarpBuilder je pouze prvním krokem k začlenění nových optimalizací do prohlížeče, jejichž implementace je plánována v průběhu příštího roku.
Nový JIT zlepšuje výkon SpiderMonkey JavaScript enginu snížením počtu interních informací o typu sledovaných v rámci enginu a dřívějším použitím techniky Intermediate Code Caching (CacheIR). v „základním“ interpretu bytecode, který zaujímá mezilehlou mezeru mezi běžným interpretem a kompilátorem před JIT. Tyto změny umožnily výrazně zjednodušit architekturu JIT, zvýšit odezvu, zkrátit dobu načítání stránky a snížit spotřebu paměti.
že nový JIT vyřešil mnoho problémů starého JIT IonBuilderu, jako například:
- Složitost implementace a potenciální bezpečnostní problémy;
- Další režie pro kód Baseline/C++;
- Přílišná specializace vedoucí ke zbytečným rekompilacím;
- Generování mezikódu (Middle-level IR) v hlavním vláknu (ve WarpBuilderu je hlavní sestava mezikódu umístěna v samostatném vláknu);
- Další spotřeba paměti pro ukládání dat o typech a skupinách objektů (ObjectGroups).
V testech, které hodnotí výkon na základě vizuálních metrik, je v průměru pozorováno 5-15% zrychlení při použití WarpBuilderu. Rychlost dokončení testu rychloměru se zvýšila o 10 %. Testování na skutečných webech ukázalo zkrácení doby načítání Dokumentů Google o , index при открытии раздела Android в Reddit улучшился на , pdfpaint začal pracovat rychleji . Spotřeba paměti v testu klesla o 8 %. statistiky ve vývojářských nástrojích (devtools perf) také ukázaly 8% snížení spotřeby paměti.
Zdroj: opennet.ru
