martedì 22 giugno 2021

Un nuovo compilatore JavaScript mira a migliorare la velocità complessiva di Chrome

Google ha ora implementato un nuovo compilatore JavaScript, denominato Sparkplug, per il suo Motore JavaScript V8 in Chrome. Gli ingegneri di Sparkplug assicurano che creerà un’esperienza web più veloce e che lo fa “barando”.

Il nuovo compilatore fa parte di Chrome 91 aggiornamento, che Google ha implementato martedì. Insieme a Sparkplug, la versione include anche aggiornamenti di sicurezza e altre modifiche critiche che miglioreranno il motore JavaScript.

Thomas Nattestad, un product manager di Chrome, ha detto , “Un componente importante per fornire un browser veloce è l’esecuzione rapida di JavaScript. In Chrome, quel lavoro viene svolto dal motore V8 che esegue oltre 78 anni di codice JavaScript su un quotidianamente. In M 91 Chrome è ora fino a 23% più veloce con il lancio di un nuovo compilatore Sparkplug e chiamate integrate brevi , salvando oltre 17 anni di tempo della CPU dei nostri utenti ogni giorno. ”

Il compilatore è una gradita aggiunta alla pipeline JavaScript, poiché agisce come intermediario tra i compilatori Ignition e Turbofan esistenti. Ignition interpreta il bytecode e Turbofan ottimizza il codice macchina ad alte prestazioni. Entrambi fanno un ottimo lavoro, ma ci vuole tempo per elaborare e ottimizzare tutto il codice.

Come spiega Nattestad, “Sparkplug raggiunge un equilibrio tra Ignition e Turbo fan in quanto genera codice macchina nativo ma non dipende dalle informazioni raccolte durante l’esecuzione del codice JavaScript. Ciò gli consente di iniziare l’esecuzione rapidamente mentre genera ancora codice relativamente veloce. ”

E Sparkplug “imbroglia” la sua strada verso l’efficienza compilando funzioni già compilate in bytecode. Leszek Swirski, uno degli ingegneri di Sparkplug, spiega che “il compilatore di bytecode ha già svolto la maggior parte del lavoro duro come la risoluzione variabile, capire se le parentesi sono effettivamente funzioni freccia, desugaring istruzioni destrutturanti e così via. Sparkplug compila da bytecode anziché da JavaScript, quindi non deve preoccuparsi di nulla di tutto ciò. ”

Spiegare le complessità può diventare super tecnico, ma super veloce. Se ti piace, puoi leggere l’intero post del blog di V8 Devs qui . Per il resto di noi, tutto ciò che devi sapere è che Chrome si muoverà un po ‘più velocemente ora, il che è una buona notizia per tutti.

attraverso ZDNet