In Firefox geüpdatete JIT-compiler, onder de codenaam WarpBuilder. Voor de activatie van de nieuwe JIT is er een optie «javascript.options.warp» voorgesteld in about:config.
Het wordt opgemerkt dat WarpBuilder slechts de eerste stap is naar het opnemen van nieuwe optimalisaties in de browser, die in het komende jaar worden gepland.
De nieuwe JIT maakt een verbetering van de prestaties van de JavaScript-engine SpiderMonkey mogelijk door de interne type-informatie die binnen de engine wordt gevolgd te verminderen en door gebruik te maken van cachingtechnieken voor tussentijdse code (CacheIR), die eerder in de «baseline» bytecode-interpreter, die een tussenliggende rol vervult tussen de gewone interpreter en de voorafgaande JIT-compiler. Deze veranderingen hebben het mogelijk gemaakt om de JIT-architectuur aanzienlijk te vereenvoudigen, de responsiviteit te verhogen, de laadtijd van pagina's te verkorten en het geheugenverbruik te verlagen.
, wat betekent dat de nieuwe JIT veel problemen van de oude JIT IonBuilder heeft opgelost, zoals:
- Complexiteit van implementatie en potentiële veiligheidsproblemen;
- Extra overhead voor Baseline/C++ code;
- Overmatige specialisatie die onnodige recompilaties met zich meebrengt;
- Vorming van tussentijdse code (Middle-level IR) in de hoofdthread (in WarpBuilder is de hoofdopbouw van tussentijdse code naar een aparte thread verplaatst);
- Extra geheugenverbruik voor het opslaan van type- en objectgroepgegevens (ObjectGroups).
Gemiddeld is er in tests die zijn beoordeeld op basis van visuele metrics, met gebruik van WarpBuilder een versnelling van 5-15% waargenomen. De snelheid van de Speedometer-test is met 10% toegenomen. Tests op echte websites toonden een vermindering van de laadtijd van Google Docs aan , de score bij het openen van de Android-sectie op Reddit verbeterde met , pdfpaint functioneerde sneller op . Het geheugenverbruik in de test werd met 8% verminderd. 🥇In de nightly builds van Firefox is de prestatie van JIT-compilatie aanzienlijk verhoogd | ProHoster
Bron: opennet.ru
