Pour gérer vos consentements :
Categories: Poste de travail

Le moteur JavaScript d’Internet Explorer met le turbo

Microsoft poursuit son opération de reconquête des utilisateurs dans le secteur des navigateurs web. Internet Explorer 9, dernier opus en date de la firme de Redmond, est ainsi raisonnablement rapide et respectueux des standards, avec même une touche de HTML5. Pas de quoi toutefois détrôner les ténors du genre, qui font au moins aussi bien.

Avec IE10, la société joue toujours plus la carte de la compatibilité HTML5, mais aussi celle des performances. Le moteur JavaScript Chakra a ainsi été grandement remanié depuis son introduction dans IE9.

À la fois réactif et véloce

Il existe aujourd’hui deux modes de fonctionnement pour un moteur JavaScript : soit le code est interprété, opération réalisable dès le chargement de la page web, mais avec comme résultante des performances médiocres ; soit le code est compilé en instructions machine, ce qui amène d’excellentes performances, mais ralentit grandement le temps d’affichage de la page web.

Tous les moteurs JavaScript adoptent aujourd’hui un double moteur mêlant interpréteur et compilateur, le choix de l’un ou l’autre étant fait en fonction de la complexité du code à exécuter.

Chakra adopte une approche sophistiquée : l’interpréteur entre en action sans délai sur l’ensemble du code JavaScript, afin de réduire le temps de chargement de la page web. Si une fonction est appelée plusieurs fois, son code est compilé en parallèle à l’interprétation.

Une fois ce travail effectué, la version compilée du code prend le relai de la mouture interprétée. Les performances sont alors maximales, ainsi que les options d’optimisation, le compilateur intégré à Chakra pouvant prendre tout le temps nécessaire pour générer les instructions machine.

Une offre partiellement multicœur

Le moteur JavaScript Chakra est également capable de tirer parti des puces multicœurs. L’interpréteur, le compilateur et le ramasse-miettes fonctionnent ainsi sur des processus différents, en parallèle. Avec du code intensif, les performances de l’ensemble seront nettement améliorées, grâce à l’exploitation à plein de trois cœurs.

Seul regret, rien n’indique que le code généré par le compilateur soit multithreadé, et donc capable d’utiliser plusieurs cœurs. Il est à noter toutefois qu’il est maintenant compatible avec les architectures processeur x86 32 bits, x86 64 bits et ARM. Alors que seule la version x86 32 bits d’IE9 propose des performances JavaScript correctes, les trois moutures d’IE10 devraient faire jeu égal.

Reste maintenant à savoir si toutes ces améliorations (et bien d’autres) permettront à IE10 d’afficher une meilleure vitesse de traitement JavaScript que ses concurrents. À ce jour, Chrome reste probablement le leader dans ce secteur, devant Firefox (qui a beaucoup progressé), Opera et Safari (tous deux d’un excellent niveau) et IE9, qui ferme la marche (mais sans avoir à en rougir).

Crédit photo : © chungking – Fotolia.com

Recent Posts

AWS prend ses distances avec VMware version Broadcom

Broadcom a repris seul la main sur la vente de l'offre VMware d'AWS... qui, dans…

18 heures ago

Avec ZTDNS, Microsoft essuie les plâtres du zero trust appliqué au DNS

Microsoft expérimente, sous la marque ZTDNS, une implémentation des principes zero trust pour le trafic…

20 heures ago

Atos sur la voie d’un sauvetage ? Point de situation

Accord de principe entre créanciers, propositions de reprise, discussions avec l'État... Le point sur le…

23 heures ago

AWS abandonne WorkDocs, son concurrent de Dropbox

Un temps pressenti pour constituer le socle d'une suite bureautique AWS, Amazon WorkDocs arrivera en…

4 jours ago

Eviden structure une marque de « serveurs IA »

Eviden regroupe cinq familles de serveurs sous la marque BullSequana AI. Et affiche le supercalculateur…

4 jours ago

SSE : l’expérience se simplifie plus que les prix

Le dernier Magic Quadrant du SSE (Secure Service Edge) dénote des tarifications et des modèles…

4 jours ago