Google porte le JavaScript dans le monde du calcul hautes performances

La firme de Mountain View vient de mettre en ligne un moteur de fractales entièrement réalisé en JavaScript et capable d’exploiter les différents cœurs d’une machine. Une première.

La vitesse des moteurs JavaScript est en hausse constante. Avec l’intégration de compilateurs just-in-time toujours plus performants et de fonctionnalités issues de l’HTML5, de nouvelles applications sont aujourd’hui à la portée des navigateurs web.

Toutefois, certains se demandent encore à quoi pourra servir une telle puissance dans la pratique. Les ingénieurs de Google viennent de donner une réponse à cette question, en proposant un moteur de rendu de fractales, prenant la forme d’une application web entièrement écrite avec des technologies standardisées : JavaScript, HTML et CSS. Une utilisation astucieuse des Web Workers permet non seulement d’effectuer les calculs en tâche de fond, mais également de les lancer en parallèle, ce qui permet d’exploiter au mieux les capacités des processeurs multicœurs. Les résultats s’affichent au travers d’un canevas 2D.

Armée de ces caractéristiques, l’application de Google (testée sous Chrome 9.0) s’est montrée entre 15 et 75 fois plus lente que du code écrit en assembleur (sans optimisations SSE), ce qui n’est pas si mal, loin de là. Notez qu’une autre piste aurait pu être exploitée par la compagnie : elle aurait pu confier les calculs à la carte graphique, en détournant les routines 3D WebGL de leur usage premier (comme aux débuts du GPU Computing). Les performances auraient alors été bien meilleures.