Chrome 91 erbjuder upp till 23 % snabbare prestanda tack vare dessa ändringar

Google rullade nyligen ut Chrome 91 på den stabila kanalen och den erbjuder 23 % snabbare prestanda på grund av ändringarna som nämns i inlägget.

Google nyligen rullade ut Chrome 91 på den stabila kanalen. Uppdateringen introducerade en mängd ändringar, inklusive förnyade formulärkontroller, standardstöd för skrivbordsläge på enheter med stor skärm, förbättringar av File System Access API och mer. Uppdateringen kom också med en mängd prestandaförbättringar, och Google har nu avslöjat att den senaste uppdateringen gör Chrome upp till 23 % snabbare än den tidigare utgåvan.

I en Senaste inläggetChromium blogg, avslöjade Chrome Product Manager Thomas Nattestad att Chrome 91 "är nu upp till 23 % snabbare med lanseringen av en ny Sparkplug kompilator och korta inbyggda samtal, vilket sparar över 17 år av våra användares CPU-tid varje dag!" Inlägget förklarar att Sparkplug är en ny JavaScript-kompilator som "fyller gapet mellan att behöva börja exekvera snabbt och att optimera koden för maximal prestanda."

Korta inbyggda samtal optimerar å andra sidan "där i minnet vi lägger genererad kod för att undvika indirekta hopp när vi anropar funktioner."

Chromes V8-motor har flera kompilatorer som gör olika avvägningar under de olika faserna av att köra JavaScript. Den nya Sparkplug-kompilatorn uppnår en balans mellan motorns kompilatorsystem i två nivåer -- Ignition och Turbofan - för att generera inbyggd maskinkod utan att vara beroende av informationen som samlades in när JavaScript kördes koda. På grund av detta, det "börjar exekvera snabbt samtidigt som den genererar relativt snabb kod," vilket förbättrar prestandan.

Korta inbyggda är en ny mekanism som hjälper V8-motorn att optimera platsen i minnet av genererad kod. "När V8 genererar CPU-specifik kod från JavaScript, lägger den ut den koden i minnet. Denna genererade kod kommer ofta att anropa inbyggda funktioner, som är små kodavsnitt för att hantera vanliga rutiner --allt från grundläggande operationer som att lägga till två variabler, till fullfjädrade funktioner i JavaScript-standarden bibliotek. För vissa processorer kan anrop av funktioner som är längre bort från din genererade kod orsaka att CPU-interna optimeringar (som t.ex. förutsägelselogik) misslyckas. Fixningen för detta är att kopiera de inbyggda funktionerna till samma minnesområde som den genererade koden," lägger inlägget till. Den noterar vidare att denna förändring bör förbättra Chromes prestanda på Apple M1-chippet.

Om du vill veta mer om dessa prestandauppgraderingar, kolla in Chrome V8 blogginlägg.