Microsoft et Intel collaborent pour booster le moteur JavaScript de Edge au moyen de la technologie SIMD
jeu, 28/05/2015 - 15:51
Avec Windows 10 et son nouveau navigateur Edge (anciennement Spartan), Microsoft veut (doit) réussir son coup et séduire la clientèle. Pour y parvenir, la firme de Redmond apporte un soin tout particulier à Edge, et veut la performance au sein de celui-ci.
Le moteur JavaScript est un point crucial en ce qui concerne la vitesse d'exécution de certaines applications Web modernes, dont les jeux, particulièrement gourmands. C'est dans ce contexte que Microsoft et Intel travaillent à l'implémentation de SIMD dans Chakra, le moteur JavaScript de Edge, ainsi que l'explique Redmond dans un billet.
SIMD est une technologie de parallélisme que l'on trouve sur toutes les puces modernes, indépendamment des architectures. SIMD, pour Single Instruction on Multiple Data et en opposition à SISD (Single Instruction on Single Data) permet d'effectuer en parallèle les multiples instructions d'une seule opération. Un des cas les plus évidents, donné en exemple dans le billet, est l'addition des coordonnées de deux vecteurs (et plus généralement du calcul matriciel). Une opération, en quatre instructions avec SISD, mais une opération en une instruction (puisque les quatre s'effectuent en parallèle) avec SIMD.
Pour Microsoft, SIMD dans Chakra sera particulièrement efficace pour la vidéo, le multimédia et les jeux. Microsoft va jusqu'à évoquer des performances proches du natif.
SIMD devrait être intégré dans la prochaine spécification ECMAScript. Pour ceux qui ont un Windows 10 en preview avec Edge, il est possible de tester SIMD dans Chakra à cette page : http://peterjensen.github.io/simd-asm-2/mandelbrot-asm-2.html pour admirer les performances de Edge avec SIMD dans le tracé de fractales de Mandelbrot. Page qu'ils visiteront après avoir activé asm.js dans leur navigateur Edge au moyen de l'instruction about:flags.