En ny Chrome-uppdatering sparar 17 års behandling varje dag

0 Shares

TL; DR: Google levererar nu Chrome 91, som inkluderar en större uppgradering av webbläsarens JavaScript-bearbetning. Enligt Google körde V8-motorn JavaScript på cirka 78 år varje dag, men en hastighet på 23% har minskat den siffran med 17 år.

Dessa dagar är JavaScript en integrerad del av webbdesign, men det kan vara lite av en flaskhals för webbläsare. Chromes V8-motor var en av dess främsta fördelar när den släpptes 2008, och den är fortfarande en viktig försäljningsargument för Chromium-webbläsare som Chrome, Edge, Vivaldi och Opera.

För tre år sedan implementerade Google två nya kompilatorer som heter Ignition och Turbofan till V8-motorn på två nivåer. Tändning är en snabb bytecode-tolk som kommer igång snabbt. Turbofan är en maskinkodförfattare som optimerar koden den matar ut med information som samlats in under JavaScript-körningen, vilket resulterar i en långsammare start men snabbare kod.

I Chrome 91 släppte Googles en tredje kompilator i mitten som heter Sparkplug. Liksom Turbofan genererar den maskinkod, men den optimerar inte sin kod baserat på ny information så att dess produktion inte är lika bra. Men eftersom det inte behöver vänta på den informationen kan den komma igång strax efter att Tändning har gjort och bygga upp hastigheten nästan lika snabbt. Det underlättar rörledningens övergång från Ignition till Turbofan.

I Googles tester förbättrade Sparkplug V8-motorns beräkningsprestanda med 5 till 15%, beroende på hårdvara, webbplats och operativsystem.

Den nya V8 inkluderar också en andra optimering; borttagning av inbäddade inbyggda, som Google nyligen insåg orsakade prestandaproblem. I den meningen är det mer av en bug fix. Det är inte Googles slutliga lösning på problemet eftersom det använder för mycket minne (som alla Chrome-versioner är avsedda att göra, tydligen) men det räcker med en förbättring för att förtjäna inkludering.

Kort sagt, ett inbyggt är ett förskrivet kodavsnitt som hanterar en gemensam process och de dras från minnet av CPU när koden körs. Problemet med dem är att i vissa CPU-arkitekturer, om det inbyggda inte är lagrat i samma minnesutrymme som motorns kod, kan det ta en stund att hitta CPU. Apples M1-chip är särskilt mottagligt för detta problem.

V8: s nya lösning är att kopiera biblioteket med inbyggda enheter från varhelst det råkar vara att klistra in det bredvid den kompilerade koden det skapar. Denna duplicering orsakar den ökade minnesanvändningen, men det gör det möjligt för CPU: n att konsekvent göra korrekta grenförutsägelser när den söker efter rätt inbyggd, vilket gör att CPU: n kan använda den för körning utan order.

Google fann att dupliceringskorrigeringen kunde erbjuda en ganska varierande prestandaförbättring på 3 till 15%. YouTube och Apples M1 gynnades mest av det.

Du använder förmodligen Chrome 91 just nu (om inte, kan du ladda ner den här). Har du märkt den extra hastigheten?

Bildkredit: Pawel Czerwinski

0 Shares