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 : Intel apporte le support de SIMD à Chakra
Pour booster les performances des applications JavaScript grâce au parallélisme

Le , par Hinault Romaric

0PARTAGES

4  0 
Microsoft accorde une attention particulière aux performances de son moteur JavaScript Chakra pour le navigateur Edge. La firme n’a pas hésité à collaborer avec d’autres entreprises de l’IT dans la conception de son navigateur, pour fournir une alternative sérieuse à Chrome, Firefox et Internet Explorer.

Après la prise en charge d’Asm.js, suite à une collaboration avec la fondation Mozilla, Microsoft annonce le support de SIMD (Single Instruction Multiple Data) dans Edge, fruit de la participation d’Intel au développement du navigateur.

Pour rappel, le projet SIMD exploite le parallélisme qu’offrent les instructions matérielles spécifiques SIMD, qui sont prises en charge dans la plupart des chipsets modernes indépendamment des types d’architecture.

SIMD permet d’accélérer les performances des applications grâce à l’utilisation du parallélisme pour traiter simultanément la même opération sur plusieurs éléments de données.

À titre d’exemple, l’addition de deux vecteurs de données ayant pour taille quatre sans recours à SIMD, donnera lieu à quatre opérations d’addition différentes. Avec SIMD, l’addition se fera en une seule instruction, comme l’illustre l’image ci-dessous.


SIMD est une technique très populaire pour accélérer le calcul dans les graphiques, l’audio, les codecs, la cryptographie, les simulations en physique et bien plus.

SIMD devrait être intégré dans une future spécification ECMAScript. Le projet avait été approuvé par le comité ECMA International TC39, responsable de la standardisation de la norme ECMAscript

La prise en charge de SIMD dans le navigateur Edge, combinée au support de Asm.js, permettra de booster considérablement le moteur JavaScript Chakra. Le navigateur sera capable d’offrir des performances proches du natif.

Le support de SIMD dans Edge peut être testé par les développeurs dans la dernière Preview de Windows 10. Pour cela, ils devront dans un premier temps activer Asm.js via l’onglet « À propos ». Microsoft leur a développé une page de démonstration.

SIMD est activé pour le code qui utilise Asm.js. Bien que les API JavaScript de SIMD puissent être exploités en dehors de Asm.js, Microsoft a choisi, pour l’instant, de coupler les deux technologies. Les avantages ne sont visibles pour l’instant que sur les dispositifs 64 bits.

Toutefois, Microsoft compte étendre le support de SIMD pour qu’il ne nécessite plus Asm.js et puisse fonctionner sur n’importe quel matériel.

En plus de SIMD, Intel a également contribué sur d’autres aspects de Microsoft Edge comme l’amélioration du temps de chargement des pages contenant de multiples éléments multimédias.

Source : blog Windows

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

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 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 Chuck_Norris
Membre émérite https://www.developpez.com
Le 28/05/2015 à 17:42
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. Quand on y sera, alors on pourra éventuellement envisager le SIMD même si je vois difficilement l'intérêt pour un langage Javascript (le SIMD ayant été conçu pour optimiser le calcul matriciel essentiellement utilisé pour du rendu 3D ou l'encodage/décodage)... Le retour du MMX, vendu à l'époque par Intel comme solution miracle, encore mieux que le Pentium III qui "permettait d'accélérer Internet" comme osait affirmer Intel sans rougir de honte.

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.
2  3