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 !

Microsoft Edge : le moteur JavaScript Chakra optimisé
Les tests affichent de meilleures performances que IE11, Chrome et Firefox

Le , par Amine Horseman

256PARTAGES

0  0 
Lors de la conférence Build 2015, Microsoft avait affirmé que le moteur JavaScript Chakra de Edge est près de trois fois plus rapide qu’Internet Explorer 11 sur le Benchmark Unity. Aujourd’hui, Microsoft ajoute d’autres améliorations inspirées du « web actuel » en analysant des milliers de sites web choisis de manière aléatoire afin de détecter les fonctionnalités JavaScript qui ont besoin d’être optimisées et mesurer l’impact des modifications.

L’une des premières optimisations effectuées concerne les fonctions « inline ». En effet, tous les compilateurs JavaScript modernes supportent cette fonctionnalité de pouvoir déclarer le code d’une fonction directement lors de son appel, ce qui améliorerait les performances de 20 à 30%. Mais l’équipe de Edge va encore plus loin en optimisant les fonctions inline même si leurs déclarations sont réparties sur plusieurs fichiers JavaScript.


La deuxième optimisation concerne les valeurs de type « const » que ECMAScript6 offre aux développeurs JavaScript pour améliorer les performances. En effet, lorsqu’une valeur est déclarée comme constante, le compilateur n’aura plus besoin d’ajouter des instructions pour la vérification de la valeur ; cependant, une analyse de 10 000 sites sur le web a permis de trouver que 20% des développeurs déclarent les valeurs constantes en tant que variables globales qui ne seront ensuite pas modifiées par la suite. L’équipe de Edge a donc optimisé le parseur du moteur Chakra de sorte à détecter ces variables globales non modifiables et les transformer en valeurs constantes à lecture-seule. D’autres optimisations encore ont été apportées notamment sur l’optimisation du code à l’intérieur des blocs try-catch, ainsi que la méthode utilisée par le compilateur pour parcourir les tableaux.


Les résultats des tests montrent que le moteur Chakra sur Microsoft Edge est nettement plus rapide qu’Internet Explorer 11 : la différence atteint 60% sur le benchmark Jet Stream et 130% sur le benchmark Octane 2.0. Les résultats montrent aussi de meilleures performances pour Microsoft Edge par rapport à Chrome et Firefox.

Source : Microsoft Blog

Et vous ?

Que pensez-vous des résultats des tests ?
Comment Microsoft pourrait encore améliorer les performances de Edge ?

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

Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 22/05/2015 à 9:04
Même si la progression de Edge est claire, à part sur Sunspider ou il utilise des optimisation spécifique qui rendent le test caduque, il ne domine pas les autres navigateurs comme le laisserait penser les chiffres Microsoft.
5  0 
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 28/05/2015 à 18:35
Citation Envoyé par Chuck_Norris Voir le message
Sérieusement je doute qu'utiliser les instructions SIMD soit la solution royale pour accélérer l'exécution du code Javascript. Avant ça, je testerai le JIT pour compiler le Javascript en code totalement natif et l'exécuter ainsi en exploitant les pleines ressources du processeur sans surcouche ni VM.
Justement c'est plus ou moins ce que permet asm.js (à la condition d'avoir un code Javascript particulier) et ce qui rend d'autant plus utile le SIMD.

Citation Envoyé par Chuck_Norris Voir le message
Bref, une nouveauté qui n'en est pas une, juste pour faire le buzz, ça commence à devenir fatigant. Si Edge veut vraiment percer, qu'il apporte de véritables avantages à l'utilisateur plutôt que de communiquer sur une optimisation interne qui sera obscure pour 95% de ses utilisateurs.
Bah personne n'a dit que SIMD est nouveau, ni que c'est MS qui en a eu l'idée d'autant plus que ça fait partie de la spec Javascript. Et oui ce n'est pas une optimisation prévue pour les utilisateurs, mais pour améliorer les capacités des développeur particulièrement dans une appli web lourde en calculs.

Je n'ai vu dire nulle part que ça allait chambouler la vie de qui que ce soit. Microsoft communique juste de manière tout a fait normale sur ses nouveautés, comme il en a intérêt s'il veut qu'elles soit utilisées
3  0 
Avatar de Pierre GIRARD
Expert éminent https://www.developpez.com
Le 22/05/2015 à 9:02
Citation Envoyé par Washmid Voir le message
Pour leur défense Chrome et Firefox ont évolués entre temps
Reste que depuis 2013 (et même avant avec IE10), le navigateur de µSoft (quel qu'il soit) est toujours en tête des Benchmark réalisés par les bons soins de µSoft.
1  0 
Avatar de Pierre GIRARD
Expert éminent https://www.developpez.com
Le 22/05/2015 à 9:17
Citation Envoyé par TiranusKBX Voir le message
Quand tu veut faire une comparaison tu le fait avec un produit fini pas avec un prototype baclé
Edge est peut-être aussi un "prototype baclé"
1  0 
Avatar de Urubu
Candidat au Club https://www.developpez.com
Le 31/05/2015 à 19:09
Bin ça servira principalement pour emscripten, le compilateur C++ -> java utilise massivement asm.js et les perfs sont excellentes.
Sur mon moteur 3D, je ne perd que "50%" de CPU par rapport à une version desktop.
1  0 
Avatar de dlandelle
Membre du Club https://www.developpez.com
Le 04/06/2015 à 9:04
J'ai vu du SIMD depuis longtemps 1988 (CRAY) 1992 (i860) 1994 (CNAPS) 1996 (MMX) 2012 (CUDA).
Ce n'est pas une révolution.
On se fait bien chier à coder.

Avant de parler d'optimisation, il faudrait déjà que :
1) ça fonctionne
2) on identifie ce qui rame, et pourquoi (profiling)
3) qu'on explique ce qu'on va gagner

Mon premier browser était Mosaic en 1993, et ça fonctionnait bien sur du html super simple sur un 486 ;-)

4) pourquoi n'arrive-t-on plus à browser le web correctement ?

Le contenu mis en ligne avec plein de publicités vidéo et du spyware n'aide pas. Je pense qu'il faut surtout rationaliser (w3c) et limiter les appétits des producteurs de contenu.

Et de manière générale, il existe plein de super produits (opensource ou pas) qui avec le temps fonctionnent de moins en moins bien, pour finir par ne plus fonctionner du tout, pour nous occuper et nous vendre (ou nous donner) autre chose.

Ce perpétuel recommencement est là pour nous occuper, avec une bande de tricheurs qui tirent les ficelles avec des dollars ;-)
1  0 
Avatar de Washmid
Membre averti https://www.developpez.com
Le 22/05/2015 à 8:26
Pour leur défense Chrome et Firefox ont évolués entre temps
0  0 
Avatar de TiranusKBX
Expert confirmé https://www.developpez.com
Le 22/05/2015 à 8:59
Quelqu'un peut me dire pourquoi il font la comparaison avec une version chrome et firefox en Alpha ?
0  0 
Avatar de Pierre GIRARD
Expert éminent https://www.developpez.com
Le 22/05/2015 à 9:04
Citation Envoyé par TiranusKBX Voir le message
Quelqu'un peut me dire pourquoi il font la comparaison avec une version chrome et firefox en Alpha ?
Ben ils sont à égalité donc, vu que la version de Edge n'est pas non plus la version définitive.
0  0 
Avatar de Logan Mauzaize
Rédacteur/Modérateur https://www.developpez.com
Le 22/05/2015 à 10:16
Citation Envoyé par TiranusKBX Voir le message
Quelqu'un peut me dire pourquoi il font la comparaison avec une version chrome et firefox en Alpha ?
Je dirais à cause du support ES6 ?
0  0