Developpez.com

Le Club des Développeurs et IT Pro

Google présente TurboFan, le nouveau compilateur du moteur JavaScript V8,

Offrant une meilleure optimisation des codes complexes JavaScript

Le 2015-07-21 07:23:32, par Olivier Famien, Chroniqueur Actualités
La grande concurrence à laquelle se livrent les éditeurs de navigateurs oblige ces derniers à redoubler d’efforts permanents afin d’offrir à leurs logiciels les meilleures caractéristiques possible pour une expérience utilisateur optimale.

Le navigateur Chrome, qui n’est plus à présenter, a bénéficié cette année de nombreuses optimisations telles que l’intégration d’un nouveau mode ’ fort ’ qui est une extension du mode strict afin d’emmener les développeurs à écrire du code que les machines virtuelles pourront gérer plus aisément. Cela permettrait de soulager le moteur d’exécution JavaScript de Chrome lors des optimisations de code qu’il devrait faire et par-delà de gagner en performance.

En plus de cette fonctionnalité, il faut également ajouter SoundScript qui consisterait à intégrer directement dans la machine virtuelle un système de type optionnel très proche de TypeScript.

Pour aller encore plus loin dans l’amélioration des performances de Chrome, l’équipe en charge du moteur JavaScript V8 vient de présenter un nouvel outil d’optimisation intégré à V8 et baptisé TurboFan. Selon les ingénieurs de la firme de Mountain View, ce compilateur « optimise plus de code que le précédent compilateur chargé de l’optimisation, supporte les modes d’optimisation dynamiques et flexibles et favorise des contributions et une maintenance plus faciles ».

Depuis Chrome 41, il a été activé afin de gérer certains codes complexes qui n’étaient pas efficacement pris en charge par Crankshaft, le précédent compilateur pour l’optimisation de code intégré à V8.

Nous rappelons que Crankshaft a été mis en œuvre depuis 2010 et fut d’un apport considérable dans l’amélioration des performances de Chrome. En effet, après avoir été intégré à V8, il a permis d’accroitre les performances de Chrome de 50 % depuis son lancement en 2008. De même, on pouvait également compter au nombre des améliorations, un temps de démarrage plus court pour les applications web telles que Gmail et un gain de performance de 12 % pour le chargement des pages dotées d’un nombre important de codes JavaScript.

Le support de Chrome pour les fonctionnalités JavaScript ayant été étoffé, Google a donc conçu TurboFan afin de mieux couvrir les fonctionnalités JavaScript et améliorer les performances de son moteur JavaScript V8. Ce dernier a été activé dans V8 afin de prendre en charge asm.js, les littéraux avec la gestion de leur portée, le traitement des noms de propriété et les boucles for.

Google souligne que TurboFan « montre déjà des résultats de performance prometteuse incluant une augmentation de 29 % sur le score zlib du benchmark Octane ».


Si les performances sont maintenues avec ce nouveau compilateur, Google entend activer TurboFan pour gérer plus de types de JavaScript. L’objectif à terme est de remplacer entièrement Crankshaft. Pour les utilisateurs comme les développeurs, nul n’est besoin de toucher aux paramètres du navigateur. À mesure que les mises à jour seront dévoilées, l’équipe de Chrome effectuera silencieusement les activations jusqu’à éjecter son compilateur vieillissant.

Nous espérons qu’avec TurboFan, Chrome retrouvera sa place en terme de performance qui vient d’être ravie par Edge, le nouveau navigateur de Microsoft.

Source : Blog Chromium

Et vous ?

Que pensez-vous de ce compilateur ?

Pourra-t-il faire face à la concurrence ?
  Discussion forum
2 commentaires
  • Nautigsam
    Candidat au Club
    Ce dernier a été activé dans V8 afin de prendre en charge asm.js, les littérales de classe, avec les protées...
    Quelqu'un sait-il ce que sont les littérales de classe et les protées s'il vous plaît ?
  • jowo
    Membre chevronné
    Il faut lire portée et non protée.