Ohjelmointi

Mozilla Firefox parantaa JavaScript-suorituskykyä

Firefox-käyttäjät voivat odottaa parempaa JavaScript-suorituskykyä Firefox 83 -selaimessa, kun Warp-päivitys SpiderMonkey-JavaScript-moottoriin on oletusarvoisesti käytössä.

Tätä kutsutaan myös WarpBuilderiksi, Warp parantaa herkkyyttä ja muistin käyttöä sekä nopeuttaa sivun lataamista tekemällä muutoksia JiT (just-in-time) -kääntäjiin. JiT: n optimointi muutetaan tukeutumaan pelkästään yksinkertaiseen CacheIR-lineaariseen tavukoodimuotoon, erityisesti perustason keräämiin CacheIR-tietoihin. Selaimessa hyödynnetyn uuden arkkitehtuurin kuvaillaan myös olevan ylläpidettävämpi ja avaava lisää SpiderMonkey-parannuksia.

Firefox 83 julkaistiin beetaversiossa 20. lokakuuta ja sen on tarkoitus julkaista 17. marraskuuta. Warpin on osoitettu olevan nopeampi kuin Ion, SpiderMonkeyn edellinen optimointi JiT, mukaan lukien 20 prosentin parannus Google Docsin latausaikaan. Myös muut JavaScript-intensiiviset verkkosivustot, kuten Netflix ja Reddit, ovat osoittaneet parannusta.

Warpin perustaminen CacheIR: ään mahdollisti koodin poistamisen koko moottorista, jota tarvittiin IonBuilderin käyttämien maailmanlaajuisten tyyppien päätelmätietojen seuraamiseen, mikä johti nopeutuksiin. Vaikka IonBuilder ja WarpBuilder tuottavat molemmat Ion MIR: n, välitiedoston, jota JiT-optimointi käyttää, IonBuilderilla oli paljon monimutkaista koodia, jota ei tarvittu WarpBuilderissa. Loimi voi myös tehdä enemmän työtä ketjun ulkopuolella ja tarvitsee vähemmän uudelleenkäännöksiä. Suunnitelmat edellyttävät jatkuvaa optimointia Warpille, joka on tällä hetkellä hitaampaa kuin ioni joillakin synteettisillä vertailuarvoilla.

Warp on korvannut IonMonkey JiT: n etupään - MIR-rakennusvaiheen. Suunnitelmat vaativat vanhan koodin ja arkkitehtuurin poistamista, mikä todennäköisesti tapahtuu Firefox 85: ssä. Tämän seurauksena odotetaan lisää suorituskykyä ja muistin käyttöä. Mozilla jatkaa myös IonMonkey JiT: n takaosan optimointia asteittain, koska Mozilla uskoo, että JavaScriptiä vaativille kuormille on vielä parantamisen varaa. Kehityksessä on myös työkalu web-kehittäjille ja Mozillalle CacheIR-tietojen tutkimiseen JavaScriptiä varten.

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