Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Le moteur de JavaScript V8 de Chrome bénéficie d'un lot d'améliorations
Afin de le rendre plus rapide et moins lourd

Le , par Coriolan

82PARTAGES

5  0 
V8 est le moteur JavaScript libre et open source utilisé par Google dans les navigateurs Chromium et Google Chrome, il est également exploité sur la plateforme Node.js. Google a livré une nouvelle version du moteur avec un lot d’améliorations de performance et d’optimisation du code.

La nouvelle version V8 5.4 sera intégrée à la prochaine mouture du navigateur Chrome 54, elle permettra d’améliorer la gestion de la mémoire et la vitesse de démarrage. Elle ne va pas réduire la consommation de la mémoire, mais « elle va aider à accélérer l'exécution initiale des scripts et réduire le chargement des pages sur Chrome. »

La mémoire

« Pour mesurer la consommation de mémoire par le V8, deux métriques sont très importants à surveiller et à comprendre : la consommation mémoire en pointe et la consommation mémoire moyenne. Généralement, la réduction de la consommation en pointe est aussi importante que la réduction de la consommation moyenne, puisqu’une exécution de script qui épuise la mémoire disponible dans un bref instant peut causer un crash, même si la consommation mémoire moyenne n’est pas aussi hausse. »

Dans la version 5.4, le garbage collector a été ajusté afin de prendre en compte les appareils disposant de 512 Mo de RAM ou moins. Cela permettra de réduire la consommation de mémoire de pointe jusqu’à 40 % sur la pile (qui contient les objets JavaScript).
La gestion de la mémoire à l’intérieur du parseur (analyseur) du V8 a été simplifiée afin d’éviter les allocations non nécessaires, cela a permis de réduire de 20 % l’usage de la mémoire hors de la pile (qui contient les autres données manipulées par le V8). Cet ajustement est surtout bénéfique pour la réduction de l’usage de mémoire par les scripts larges, incluant les applications asm.js.

Démarrage et vitesse

La simplification du parser du V8 a non seulement aidé à réduire l’usage de la mémoire, mais aussi à améliorer la performance d'exécution. Cette simplification a impliqué le recours à des caches inline, ce qui a résulté en un gain considérable en temps de démarrage. Selon les tests internes menés par Google, pour mesurer la performance réelle du JavaScript, il y a une amélioration de 5 %. Le test du Speedometer a pu également bénéficier de ces optimisations et voit son score grimper de 10 à 13 %.

LLV8 : une aubaine pour les serveurs lourds

Les développeurs de l'Institut de Programmation Système de l’Académie Russe des Sciences ont travaillé sur un compilateur expérimental nommé LLV8 (un fork du V8), il permet d’optimiser considérablement le code en offrant au moteur JavaScript V8 la possibilité d’utiliser LLVM afin d’assurer la compilation du code JavaScript à la volée. « LLV8 (back end) est implémenté en tant qu’un patch pour le moteur V8 et ne peut fonctionner sans une machine virtuelle. » Ce compilateur permet de doubler la vitesse d’exécution sur certains benchmarks, néanmoins le temps de chargement est plus lourd; de ce fait, cette solution est plutôt adaptée aux scripts serveur, ceux manipulés par Node.js par exemple.

Source : V8project - LLV8

Et vous ?

Qu'en pensez-vous ?

Voir aussi :

Chrome 53 : le navigateur n'est plus seulement rapide, mais peut augmenter l'autonomie de la batterie de plus de 2H, d'après une vidéo de Google

Une erreur dans cette actualité ? Signalez-le nous !