Programovanie

Mozilla Firefox zvyšuje výkon JavaScriptu

Používatelia prehliadača Firefox môžu očakávať vylepšený výkon JavaScriptu v prehliadači Firefox 83, pričom je predvolene povolená aktualizácia Warp na SpiderMonkey JavaScript engine.

Warp, ktorý sa tiež nazýva WarpBuilder, zlepšuje odozvu a využitie pamäte a urýchľuje načítanie stránok vykonaním zmien v kompilátoroch JiT (just-in-time). Optimalizácia JiT sa mení tak, aby sa spoliehala iba na jednoduchý lineárny formát bytového kódu CacheIR, konkrétne na dáta CacheIR zhromaždené základnými úrovňami. Nová architektúra využívaná v prehliadači je tiež opísaná ako udržiavateľnejšia a odomykajúca ďalšie vylepšenia SpiderMonkey.

Firefox 83 bol vydaný v beta verzii 20. októbra a jeho vydanie je naplánované na 17. novembra. Ukázalo sa, že warp je rýchlejší ako Ion, čo je predchádzajúca optimalizácia JiT od SpiderMonkey, vrátane 20-percentného zlepšenia času načítania dokumentov Google. Zlepšenie zaznamenali aj ďalšie webové stránky náročné na JavaScript, ako napríklad Netflix a Reddit.

Založenie Warp na CacheIR umožnilo odstránenie kódu z celého enginu, ktorý bol potrebný na sledovanie údajov o odvodení globálneho typu použitých programom IonBuilder, čo malo za následok zrýchlenie. Aj keď IonBuilder aj WarpBuilder produkujú Ion MIR, sprostredkovanú reprezentáciu používanú optimalizujúcim back-endom JiT, IonBuilder mal veľa zložitého kódu, ktorý vo WarpBuilder nepotreboval. Warp tiež dokáže vykonávať viac práce mimo vlákien a vyžaduje menej rekompilácií. Plány volajú po ďalšej optimalizácii Warpu, ktorá je v súčasnosti pri niektorých syntetických testoch pomalšia ako Ion.

Warp nahradil prednú časť - fázu budovania MIR - IonMonkey JiT. Plány volajú po odstránení starého kódu a architektúry, čo sa pravdepodobne stane vo Firefoxe 85. Vo výsledku sa očakávajú ďalšie zlepšenia výkonu a využitia pamäte. Mozilla tiež bude pokračovať v prírastkovej optimalizácii zadnej časti IonMonkey JiT, pretože Mozilla verí, že stále existuje priestor na zlepšenie pracovných úloh náročných na JavaScript. Vo vývoji je aj nástroj pre webových vývojárov a Mozillu na skúmanie údajov CacheIR pre funkciu JavaScriptu.

$config[zx-auto] not found$config[zx-overlay] not found