I Firefox den opdaterede JIT-kompilator, under kodenavnet WarpBuilder. For at aktivere den nye JIT i about:config er der en indstilling "javascript.options.warp".
Det bemærkes, at WarpBuilder kun er det første skridt mod at inkludere nye optimeringer i browseren, som forventes implementeret i løbet af det næste år.
Den nye JIT muliggør en højere ydeevne af JavaScript-motoren SpiderMonkey ved at reducere den indre typeinformation, der styres inden for motoren, og anvende caching af mellemkode (CacheIR), tidligere i "baseline" bytecode-tolkeren, som befinder sig i et mellemliggende rum mellem en almindelig tolk og en forudgående JIT-kompilator. De nævnte ændringer har betydeligt forenklet JIT-arkitekturen, forbedret responsiviteten, reduceret indlæsningstiden for sider og sænket hukommelsesforbruget.
, at den nye JIT har gjort det muligt at løse mange problemer med den gamle JIT IonBuilder, såsom:
- Kompleksiteten i implementeringen og potentielle sikkerhedsproblemer;
- Yderligere overhead for Baseline/C++-koden;
- Overflødig specialisering, der fører til unødvendige genkompileringer;
- Generering af mellemkode (Middle-level IR) i den primære strøm (i WarpBuilder er den primære generation af mellemkode adskilt i en separat strøm);
- Yderligere hukommelsesforbrug til lagring af data om typer og objektgrupper (ObjectGroups).
I gennemsnit viser testene, der vurderer ydeevne baseret på visuelle metrikker, at brugen af WarpBuilder resulterer i en hastighedsforøgelse på 5-15%. Testen Speedometer blev forbedret med 10%. Testning på rigtige websider viste, at indlæsningstiden for Google Docs blev reduceret med , en indikator ved åbningen af Android-sektionen i Reddit forbedres med , pdfpaint kørte hurtigere på . Hukommelsesforbruget i testen blev reduceret med 8%. I de natlige builds af Firefox
Kilde: opennet.ru
