I Firefox den uppdaterade JIT-kompilatorn, under kodnamnet WarpBuilder. För att aktivera den nya JIT i about:config har alternativet «javascript.options.warp» föreslagits.
Det noteras att WarpBuilder bara är det första steget mot att inkludera nya optimeringar i webbläsaren, som planeras att implementeras under det kommande året.
Den nya JIT tillåter att förbättra prestandan hos JavaScript-motorn SpiderMonkey genom att minska den interna informationen om typer som spåras inom motorn och tillämpa tekniken för cachelagring av mellanliggande kod (CacheIR), tidigare i «baseline»-tolken av bytekod, som befinner sig i en mellanliggande position mellan den vanliga tolken och den förkompilerade JIT-kompilatorn. De angivna ändringarna har betydligt förenklat arkitekturen hos JIT, ökat responsiviteten, minskat sidladdningstiden och sänkt minnesanvändningen.
, vilket den nya JIT har gjort möjligt att lösa många problem med den gamla JIT IonBuilder, såsom:
- Komplexiteten i implementeringen och potentiella säkerhetsproblem;
- Ytterligare overhead för Baseline/C+-koden;
- Överdriven specialisering som leder till onödiga omkompileringar;
- Generering av mellanliggande kod i huvudtråden (i WarpBuilder har den huvudsakliga genereringen av mellanliggande kod flyttats till en separat tråd);
- Ytterligare minnesanvändning för lagring av data om typer och objektgrupper (ObjectGroups).
I genomsnitt har tester som bedömer prestanda baserat på visuella mätningar visat en hastighetsökning på 5-15% vid användning av WarpBuilder. Hastigheten på Speedometer-testet ökade med 10%. Tester på verkliga webbplatser visade en minskning av laddningstiden för Google Docs med , indikatorn vid öppning av Android-delen i Reddit förbättrades med , pdfpaint fungerade snabbare med . Minnesförbrukningen i testet sänktes med 8%. 🥇I de nattliga versionerna av Firefox har JIT-kompileringens prestanda avsevärt ökat | ProHoster
Källa: opennet.ru
