ProHoster > blogg > internetnyheter > JIT-kompileringsprestandan har märkbart förbättrats i Firefox nattliga versioner
JIT-kompileringsprestandan har märkbart förbättrats i Firefox nattliga versioner
В nattliga byggen firefox ingår uppdaterad JIT-kompilator, tagit fram kodnamnet WarpBuilder. För att aktivera den nya JIT, finns alternativet "javascript.options.warp" i about:config.
Det noteras att WarpBuilder bara är det första steget mot att införliva nya optimeringar i webbläsaren, som planeras att implementeras under nästa år.
Den nya JIT förbättrar prestandan för SpiderMonkey JavaScript-motorn genom att minska den interna typinformationen som spåras i motorn och genom att använda tekniken Intermediate Code Caching (CacheIR) tidigare föreslagen i "baseline"-bytekodtolkaren, som upptar en mellanliggande nisch mellan en vanlig tolk och en pre-JIT-kompilator. Dessa ändringar gjorde det möjligt att avsevärt förenkla JIT-arkitekturen, öka responsen, minska sidladdningstiden och minska minnesförbrukningen.
Det är noteratatt den nya JIT löste många problem med den gamla JIT IonBuilder, till exempel:
Komplexiteten i implementeringen och potentiella säkerhetsproblem;
Ytterligare overhead för Baseline/C++-kod;
Överdriven specialisering som leder till onödiga omkompileringar;
Genererar mellankod MIR (Mellannivå IR) i huvudtråden (i WarpBuilder placeras huvudenheten för mellankoden i en separat tråd);
Ytterligare minnesförbrukning för lagring av data om typer och grupper av objekt (ObjectGroups).
I genomsnitt, i tester som utvärderar prestanda baserat på visuella mätvärden, observeras en 5-15% hastighetsökning när du använder WarpBuilder. Genomförandegraden för hastighetsmätartest ökade med 10 %. Tester på riktiga webbplatser visade en minskning av laddningstiden för Google Dokument med 20%, index SpeedIndex när du öppnar Android-sektionen på Reddit förbättras med 13%, pdfpaint började fungera snabbare på 18%. Minnesförbrukning i testet tp6 minskade med 8 %. Indikatorer statistik i utvecklarverktyg (devtools perf) visade också en 8% minskning av minnesförbrukningen.