Icône de l'application Google Chrome sur l'écran Apple iPhone X en gros plan
BigTunaOnline/Shutterstock.com

Google a maintenant déployé un nouveau compilateur JavaScript, baptisé Sparkplug, pour son moteur JavaScript V8 dans Chrome. Les ingénieurs de Sparkplug assurent qu’il créera une expérience Web plus rapide, et qu’il le fait en”trichant”.

Le nouveau compilateur fait partie de la mise à jour Chrome 91, que Google a déployée mardi. Avec Sparkplug, la version inclut également des mises à jour de sécurité et d’autres changements critiques qui dynamiseront le moteur JavaScript.

Thomas Nattestad, chef de produit Chrome, a déclaré : « Un élément important pour fournir un navigateur rapide est l’exécution rapide de JavaScript. Dans Chrome, ce travail est effectué par le moteur V8 qui exécute quotidiennement plus de 78 ans de code JavaScript. Dans M91, Chrome est désormais jusqu’à 23% plus rapide avec le lancement d’un nouveau compilateur Sparkplug et courts appels intégrés , enregistrement plus de 17 ans de temps CPU de nos utilisateurs chaque jour.”

Le compilateur est un ajout bienvenu au pipeline JavaScript, car il sert d’intermédiaire entre les compilateurs Ignition et Turbofan existants. Ignition interprète le bytecode et Turbofan optimise le code machine haute performance. Les deux font un travail solide, mais il faut du temps pour traiter et optimiser tout le code.

Langage de programmation JavaScript avec code de script sur l'écran du portable
fatmawati achmad zaenuri/Shutterstock.com

Comme l’explique Nattestad, « Sparkplug établit un équilibre entre Ignition et Turbo fan en ce sens qu’il génère du code machine natif, mais ne dépend pas des informations recueillies lors de l’exécution du code JavaScript. Cela lui permet de commencer à s’exécuter rapidement tout en générant du code relativement rapide.”

Et Sparkplug «triche» son chemin vers l’efficacité en compilant des fonctions déjà compilées en bytecode. Leszek Swirski, l’un des ingénieurs de Sparkplug, explique que « le compilateur de bytecode a déjà effectué la plupart du travail difficile comme la résolution variable, déterminer si les parenthèses sont en fait des fonctions de flèche, désagréger les instructions de déstructuration, etc. Sparkplug compile à partir du bytecode plutôt que de la source JavaScript, et n’a donc pas à s’inquiéter de tout cela.”

Expliquer les subtilités peut cependant devenir super technique, très rapide. Si vous aimez ça, vous pouvez lire l’intégralité du billet de blog V8 Devs ici . Pour le reste d’entre nous, tout ce que vous devez vraiment savoir, c’est que Chrome va évoluer un peu plus vite maintenant, ce qui est une bonne nouvelle pour tout le monde.

via ZDNet