Google rullet nylig ut Chrome 91 på den stabile kanalen, og den tilbyr 23 % raskere ytelse på grunn av endringene nevnt i innlegget.
Google nylig rullet ut Chrome 91 på den stabile kanalen. Oppdateringen introduserte en rekke endringer, inkludert fornyede skjemakontroller, støtte for standard skrivebordsmodus på enheter med stor skjerm, forbedringer av File System Access API og mer. Oppdateringen kom også med en rekke ytelsesforbedringer, og Google har nå avslørt at den siste oppdateringen gjør Chrome opptil 23 % raskere enn forrige utgivelse.
I en siste innlegg på Chromium-bloggen, avslørte Chrome-produktsjef Thomas Nattestad at Chrome 91 "er nå opptil 23 % raskere med lanseringen av en ny Sparkplug kompilator og korte innebygde samtaler, sparer over 17 år av våre brukeres CPU-tid hver dag!" Innlegget forklarer at Sparkplug er en ny JavaScript-kompilator som "fyller gapet mellom å måtte begynne å kjøre raskt og optimalisere koden for maksimal ytelse."Korte innebygde samtaler, derimot, optimaliserer
"hvor i minnet vi legger generert kode for å unngå indirekte hopp når vi kaller funksjoner."Chromes V8-motor har flere kompilatorer som gjør forskjellige avveininger gjennom de ulike fasene av å kjøre JavaScript. Den nye Sparkplug-kompilatoren oppnår en balanse mellom motorens to-lags kompilatorsystem - Ignition og Turbofan - for å generere innfødt maskinkode uten å være avhengig av informasjonen som samles inn mens JavaScript kjøres kode. På grunn av dette, det "begynner å kjøre raskt mens den fortsatt genererer relativt rask kode," og dermed forbedre ytelsen.
Short builtins er en ny mekanisme som hjelper V8-motoren med å optimalisere plasseringen i minnet til generert kode. "Når V8 genererer CPU-spesifikk kode fra JavaScript, legger den koden ut i minnet. Denne genererte koden kaller ofte innebygde funksjoner, som er små kodebiter for å håndtere vanlige rutiner --alt fra grunnleggende operasjoner som å legge til to variabler, til fullverdige funksjoner i JavaScript-standarden bibliotek. For noen CPU-er kan oppkalling av funksjoner som er lenger unna den genererte koden føre til at CPU-interne optimaliseringer (som grenprediksjonslogikk) mislykkes. Løsningen for dette er å kopiere de innebygde funksjonene til samme minneområde som den genererte koden," innlegget legger til. Den bemerker videre at denne endringen bør forbedre Chromes ytelse på Apple M1-brikken.
For å finne ut mer om disse ytelsesoppgraderingene, sjekk ut Chrome V8 blogginnlegg.