Programavimas

„Mozilla Firefox“ padidina „JavaScript“ našumą

„Firefox“ vartotojai gali tikėtis pagerėjusio „JavaScript“ našumo naršyklėje „Firefox 83“, pagal numatytuosius nustatymus įjungus „SparpMonkey“ „JavaScript“ variklio „Warp“ atnaujinimą.

Dar vadinamas „WarpBuilder“, „Warp“ pagerina reagavimą ir atminties naudojimą bei pagreitina puslapių įkėlimą, keisdamas „JiT“ (tiesiog laiku) kompiliatorius. „JiT“ optimizavimas pakeistas, kad būtų galima pasikliauti tik „CacheIR“ paprasto linijinio baitų kodo formatu, ypač „CacheIR“ duomenimis, surinktais bazinių pakopų. Nauja naršyklėje panaudota architektūra taip pat apibūdinama kaip labiau prižiūrima ir atverianti papildomus „SpiderMonkey“ patobulinimus.

„Firefox 83“ buvo išleista beta versijos spalio 20 d. Ir planuojama išleisti lapkričio 17 d. Buvo įrodyta, kad „Warp“ yra greitesnė nei „Ion“, ankstesnė „SpiderMonkey“ optimizuojanti „JiT“, įskaitant „Google“ dokumentų įkėlimo laiko pagerėjimą 20 proc. Pagerėjo ir kitos „JavaScript“ naudojančios svetainės, tokios kaip „Netflix“ ir „Reddit“.

„Warp“ pagrįstas „CacheIR“ leido pašalinti kodą visame variklyje, kuris buvo reikalingas norint sekti „IonBuilder“ naudojamus pasaulinio tipo išvadų duomenis, todėl spartėjo. Nors tiek „IonBuilder“, tiek „WarpBuilder“ gamina „Ion MIR“ - tarpinį vaizdą, kurį naudoja optimizuojanti „JiT“ galinė dalis, „IonBuilder“ turėjo daug sudėtingo kodo, kurio „WarpBuilder“ nereikia. „Warp“ taip pat gali atlikti daugiau darbų ne savo ruožtu ir jam reikia mažiau kompiliavimo. Planuose reikalaujama toliau optimizuoti „Warp“, kuris šiuo metu yra lėtesnis nei „Ion“ pagal kai kuriuos sintetinius etalonus.

„Warp“ pakeitė „IonMonkey JiT“ priekinę dalį - MIR kūrimo etapą. Planuose reikalaujama pašalinti seną kodą ir architektūrą, kas greičiausiai nutiks „Firefox 85“. Dėl to tikimasi papildomų našumo ir atminties naudojimo patobulinimų. „Mozilla“ taip pat ir toliau palaipsniui optimizuos „IonMonkey JiT“ galinę dalį, nes „Mozilla“ mano, kad vis dar yra kur tobulinti „JavaScript“ reikalaujančius darbo krūvius. Taip pat kuriamas žiniatinklio kūrėjų ir „Mozilla“ įrankis, skirtas „CacheIR“ duomenims tirti „JavaScript“ funkcijai.