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

ChatGPT : le Financial Times signe avec OpenAI

FT Group, éditeur du Financal Times, a signé un accord avec OpenAI afin d'utiliser ses…

1 jour ago

Les hyperscalers renforcent leurs recherches et datacenters pour l’IA

Au premier trimestre, Microsoft, Meta/Facebook et Alphabet/Google ont déjà investi plus de 32 milliards $…

1 jour ago

Cybersécurité : Darktrace dans l’escarcelle de Thoma Bravo

La société britannique de cybersécurité Darktrace a accepté une offre de rachat de 5,32 milliards…

2 jours ago

Étude Trends of IT 2024 : comment les managers IT développent leurs projets

Silicon et KPMG lancent la deuxième édition de l'étude Trends of IT. Cette édition 2024…

2 jours ago

Atos : l’Etat veut acquérir les activités souveraines

Le ministère de l'économie a adressé une lettre d'intention à la direction d'Atos pour racheter…

2 jours ago

Arnaud Monier – SNCF Connect & Tech : « Notre moteur, c’est l’innovation et nous procédons par incrémentation »

Directeur Technologie de SNCF Connect & Tech, Arnaud Monier lance une campagne de recrutement pour…

2 jours ago