A Firefox frissített JIT-kompilátor, WarpBuilder kódnéven. Az új JIT aktiválásához az about:config menüben a „javascript.options.warp” opciót ajánlják.
Megjegyzendő, hogy a WarpBuilder csupán az első lépés a böngésző új optimalizálásainak bevezetéséhez, amelyeket a következő évben terveznek megvalósítani.
Az új JIT lehetővé teszi a SpiderMonkey JavaScript-motor teljesítményének növelését a belső típinformációk csökkentésével, amelyeket a motor nyomon követ, és a köztes kód cache-olási technika (CacheIR) alkalmazásával, amely korábban a „baseline” bájtkód-értelmezőben, amely köztes helyet foglal el a hagyományos értelmező és az előzetes JIT-kompilátor között. A megadott változtatások lehetővé tették a JIT architektúrájának jelentős egyszerűsítését, a válaszidő növelését, az oldalbetöltési idő csökkentését és a memóriafogyasztás mérséklését.
, hogy az új JIT számos problémát megoldott a régi JIT IonBuilderrel kapcsolatban, például:
- A megvalósítás bonyolultsága és a potenciális biztonsági problémák;
- További költségek a Baseline/C++ kód számára;
- Felesleges specializáció, amely felesleges újrakompilálásokhoz vezet;
- Köztes kód generálása (Középszintű IR) a fő szálon (a WarpBuilderben a köztes kód fő összegyűjtését külön szálba helyezték);
- További memóriafelhasználás az objektumtípusok és csoportok (ObjectGroups) adatinak tárolására.
Átlagosan a vizuális metrikák alapú teljesítménymérések során a WarpBuilder használatával 5-15% sebességnövekedést figyeltek meg. A Speedometer teszt áthaladási sebessége 10%-kal nőtt. Valódi weboldalakon végzett tesztelés során a Google Docs betöltési ideje csökkent , amely mutató az Android szekció megnyitásakor a Redditen javult , a pdfpaint gyorsabban működött . A tp6 tesztben a memóriafogyasztás 8%-kal csökkent. 🥇A Firefox éjszakai buildjeiben jelentősen megnövekedett a JIT-kompiláció teljesítménye | ProHoster A statisztikák a fejlesztői eszközökben (devtools perf) szintén 8%-os memóriafogyasztás-csökkenést mutattak.
Forrás: opennet.ru
