Facebook Hermes, le moteur JavaScript qui veut accélérer React Native

Mi-juillet, Facebook a publié en open source Hermes, son nouveau moteur JavaScript destiné à améliorer les performances du JavaScript, avec en ligne de mire les applications React Native sur Android. En tout cas dans un premier temps.

L’éditeur dit avoir constaté avec le temps divers problèmes de performances qui n’étaient plus seulement liés aux méthodes utilisées par les développeurs d’applications. Pour Facebook, c’est bien le moteur JavaScript lui-même qui finissait par devenir un goulet d’étranglement.

Hermes se concentre sur trois indicateurs : le temps avant la première interaction (TTI), la taille de téléchargement et l’utilisation de la mémoire. Pour les améliorer, Hermes précompile le code JavaScript (bytecode), se débarrasse de la compilation JIT (Just In Time) et adapte son ramasse-miettes aux environnements mobiles.

Côté utilisateur, les phases de parsing et de compilation n’existent plus : il passe directement du téléchargement à l’exécution, le reste étant effectué par le serveur.

L’application de messagerie Mattermost a ainsi vu passer son TTI de 4,30 à 2,29 s, son poids de téléchargement de 42 à 19 Mo et son utilisation mémoire de 185 à 136 Mo.

Les gains sont évidents, mais Facebook prévient que Hermes n’est pas pour toutes les applications et ne se veut en aucun cas un remplacement de la machine virtuelle V8 sur Android. Les développeurs choisiront le moteur correspondant à leurs besoins, par exemple quand la compilation JIT est souhaitée.

On espère en outre que ce nouveau moteur sera disponible sur d’autres plateformes. Hermes peut pour l’instant être utilisé sur Android et iOS (via JSI).

Vous n'avez pas encore de notification

Page d'accueil
Options d'affichage
Abonné
Actualités
Abonné
Des thèmes sont disponibles :
Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !