Programiranje

Mozilla Firefox povečuje zmogljivost JavaScript

Uporabniki Firefoxa lahko pričakujejo izboljšano delovanje JavaScript v brskalniku Firefox 83, pri čemer je privzeto omogočena posodobitev Warp za JavaScript SpiderMonkey motor.

WarpBuilder, imenovan tudi WarpBuilder, izboljšuje odzivnost in porabo pomnilnika ter pospešuje nalaganje strani s spreminjanjem JiT-jevih (prav v času) prevajalnikov. Optimizacija JiT je spremenjena tako, da se zanaša izključno na preprosto linearno obliko bajtne kode CacheIR, natančneje na podatke CacheIR, zbrane na osnovnih nivojih. Nova arhitektura, ki se uporablja v brskalniku, je tudi opisana kot bolj vzdržna in odpira dodatne izboljšave SpiderMonkey.

Firefox 83 je bil objavljen v beta različici 20. oktobra in naj bi izšel 17. novembra. Warp se je izkazal za hitrejšega od Iona, predhodnega optimiziranega JiT-ja SpiderMonkey, vključno z 20-odstotnim izboljšanjem časa nalaganja Google Docs. Izboljšala so se tudi druga spletna mesta z intenzivnim JavaScriptom, kot sta Netflix in Reddit.

Z uporabo Warp na CacheIR je omogočeno odstranjevanje kode v celotnem motorju, ki je bila potrebna za sledenje podatkom o globalnem sklepanju, ki jih uporablja IonBuilder, kar je povzročilo pospešitev. Čeprav IonBuilder in WarpBuilder proizvajata Ion MIR, vmesno predstavitev, ki jo uporablja optimizirajoči zadnji del JiT, je imel IonBuilder veliko zapletene kode, ki v WarpBuilderju ni bila potrebna. Warp lahko tudi več dela zunaj niti in potrebuje manj ponovnih kompilacij. Načrti zahtevajo nadaljnjo optimizacijo Warpa, ki je trenutno pri nekaterih sintetičnih merilih počasnejši od Iona.

Warp je nadomestil sprednji del - fazo gradnje MIR - IonMonkey JiT. Načrti zahtevajo odstranitev stare kode in arhitekture, kar se bo verjetno zgodilo v Firefoxu 85. Kot rezultat pričakujejo dodatne izboljšave zmogljivosti in porabe pomnilnika. Mozilla bo še naprej postopoma optimizirala zadnji del IonMonkey JiT, saj Mozilla verjame, da je še vedno mogoče izboljšati delovne obremenitve, ki zahtevajo veliko JavaScript. V razvoju je tudi orodje za spletne razvijalce in Mozillo za raziskovanje podatkov CacheIR za funkcijo JavaScript.

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