ProHoster > Blog > internetes hírek > A JIT fordítási teljesítménye észrevehetően javult a Firefox éjszakai verzióiban
A JIT fordítási teljesítménye észrevehetően javult a Firefox éjszakai verzióiban
В éjszakai építkezések Firefox bekapcsolva frissített JIT fordító, fejlett WarpBuilder kódnéven. Az új JIT engedélyezéséhez a "javascript.options.warp" beállítás elérhető az about:config fájlban.
Meg kell jegyezni, hogy a WarpBuilder csak az első lépés afelé, hogy új optimalizálásokat építsenek be a böngészőbe, amelyeket a tervek szerint a következő év folyamán hajtanak végre.
Az új JIT javítja a SpiderMonkey JavaScript motor teljesítményét azáltal, hogy csökkenti a motoron belül nyomon követett belső típusinformációkat, és korábban az Intermediate Code Caching (CacheIR) technikát használja. javasolta az „alapvonal” bájtkód értelmezőben, amely egy köztes rést foglal el a normál értelmező és a JIT előtti fordító között. Ezek a változtatások lehetővé tették a JIT architektúra jelentős egyszerűsítését, a válaszkészség növelését, az oldalbetöltési idő csökkentését és a memóriafelhasználás csökkentését.
Megjegyezzükhogy az új JIT számos problémát megoldott a régi JIT IonBuilderrel, mint például:
A megvalósítás összetettsége és lehetséges biztonsági problémák;
További általános költségek a Baseline/C++ kódhoz;
Túlzott szakosodás, ami szükségtelen újrafordításokhoz vezet;
Köztes kód generálása MIR (Középszintű IR) a főszálban (WarpBuilderben a köztes kód fő szerelvénye egy külön szálban van elhelyezve);
További memóriafelhasználás az objektumok típusaira és csoportjaira vonatkozó adatok tárolására (ObjectGroups).
A teljesítményt vizuális mérőszámok alapján értékelő tesztekben átlagosan 5-15%-os gyorsulás figyelhető meg a WarpBuilder használatakor. A sebességmérő teszt teljesítési aránya 10%-kal nőtt. Valódi webhelyeken végzett tesztelés azt mutatta, hogy a Google Dokumentumok betöltési ideje a következővel csökkent 20%, index SpeedIndex amikor megnyitja az Android szekciót a Reddit-en, amivel javult 13%, a pdfpaint gyorsabban kezdett dolgozni 18%. Memóriafogyasztás a tesztben tp6 8%-kal csökkent. Adat A fejlesztői eszközök (devtools perf) statisztikái szintén 8%-os memóriafogyasztás-csökkenést mutattak.