Microsoft améliore les performances JavaScript dans Windows 8 avec IE10

Comme un disciple de longue date de Microsoft, il est toujours surprenant de voir l’entreprise adopter les standards d’un Web ouvert. La société est tellement éprise du Web ouvert qu’elle construit les applications pour Windows 8 Metro et Internet Explorer 10 avec les langages HTML5 et JavaScript à l’esprit. Avec le lancement de la version Release Preview de Windows derrière eux, Microsoft a pris un certain temps pour expliquer leurs avancées en ce qui concerne le JavaScript.

Le catalyseur qui a forcé la main de Microsoft dans l’adoption des normes Web, c’est l’idée que le Web est « vivant ». En effet, avec l’arrivée du HTML5 et l’évolution de la CSS et du JavaScript, cela a forcé Microsoft à repenser notre façon de penser sur le Web. À cette fin, ils ont commencé à faire évoluer leur propre moteur JavaScript exclusivement pour traiter le Web sans cesse en croissance.

Le moteur JavaScript de Microsoft est appelé Chakra. Si vous êtes familier avec la philosophie bouddhiste, vous saurez que Chakra est la force motrice qui fait circuler l’énergie dans tout le corps. Le moteur de Microsoft est là pour ça, mais le corps est une page Web. Ainsi, l’idée est que le moteur circule l’exécution des différents processus de JavaScript grâce à l’utilisation du matériel d’un ordinateur, y compris la gestion de plusieurs cœurs. Il y parvient par l’utilisation d’une architecture parallélisée qui traite et exécute le code sur un cœur tout en déchargeant le garbage collector (ramasse-miettes) et le compilateur JIT sur les autres cœurs.

Voici l’architecture en infographie :

Microsoft améliore les performances JavaScript dans Windows 8 avec IE10

Chakra existe depuis IE9, mais Microsoft a vraiment augmenté d’un cran les performances de ce dernier avec IE10. Comme tous les sites Web utilisent JavaScript, d’une manière ou d’une autre, Chakra a considérablement réduit les temps de chargement en simplifiant le processus au cours duquel le code est exécuté.

Ces accroissements des performances ont également été transmis à de gros utilisateurs de JavaScript, j’ai nommé les applications Web. Ainsi, pour aider les jeux et les applications HTML5 de se charger plus rapidement, Microsoft a introduit quatre avancées qui améliorent grandement les performances.

La première est un changement du compilateur JIT Chakra qui ajoute le support pour les architectures x64 et ARM. Ce dernier va lui permettre d’exécuter le code directement sur le processeur lui accordant plus de souplesse et de rapidité. Il est utilisé pour réduire la quantité d’instructions machine pour le code, et ainsi réduire l’empreinte mémoire.

La seconde est une amélioration de l’arithmétique en virgule flottante de JavaScript qui est utilisé dans les jeux, la vidéo, etc… La firme a donc simplifié les instructions visant ce code, en particulier dans IE10, ce qui lui permet d’exécuter du code 50% plus rapidement que dans IE9. Depuis qu’IE10, malheureusement disponible uniquement sur Windows 8, vous pouvez vous attendre à voir des applications HTML5 s’exécuter admirablement sur le système d’exploitation.

La troisième concerne l’accès aux propriétés qui ont été améliorées. Depuis IE10, Microsoft a introduit un mécanisme de cache secondaire qui va permettre le fonctionnement du code sur des objets de différentes formes.

L’amélioration finale voit le système de garbage collector Chakra obtenir quelques améliorations. Il a été constaté que les jeux HTML5 libéraient un taux élevé d’objets, et malheureusement JavaScript ne prend la peine de détruire ces objets. Au lieu de cela, il recueille ces objets et les stocke dans le garbage collector. Comme vous pouvez l’imaginer, cela crée un problème … En effet, le navigateur va avoir l’occasion de s’enliser … Pour lutter contre cela, IE10 a non seulement réduit la quantité de mémoire consommée, mais il retarde aussi la collecte, et ce dès lors que le script est inactif depuis un certain temps. De cette façon, l’utilisateur ne percevra pas un verrouillage du navigateur au milieu d’une application.

Microsoft a vraiment fait un énorme travail pour se remettre à flot! Certes il lui reste encore de nombreuses choses à faire avant de devenir le roi en la matière, mais si on le compare par rapport aux précédentes versions, on ne peut être qu’agréablement surpris ! Si vous utilisez Windows 8, le choix d’IE10 n’est pas mal du tout… En revanche, si vous n’avez toujours pas confiance en IE après toutes ces années de trahison, vous pouvez maintenant télécharger Chrome pour Windows 8 ;)

Votre choix est fait ? IE10 ou Chrome ? Plus généralement, que pensez-vous des directives prises par Microsoft concernant son navigateur ? Est-ce trop tard ?