OdinMonkey booste les performances JavaScript de Firefox
Le module asm.js sera disponible dans Firefox 22
Le 2013-03-27 15:20:13, par Hinault Romaric, Responsable .NET
Dans sa quête de meilleures performances pour l’exécution d’applications JavaScript, la fondation Mozilla a mis sur pied OdinMonkey, un nouveau module asm.js pour le moteur JavaScript de Firefox.
D’après la description de Mozilla, asm.js est – purement - du code JavaScript « spécialement conçu », qui est compilé en langage natif C/C++ avec emscripten avant exécution. Le code asm.js exécuté avec un navigateur standard comme Chrome ou encore Firefox sans OdinMonkey est environ dix fois plus lent sur le premier et 12 fois plus lent sur le second par rapport au code natif.
C’est à ce stade qu’intervient le module d’optimisation OdinMonkey. Il promet d’accélérer l’exécution de JavaScript au delà « des rêves les plus fous ». Selon Mozilla, il peut améliorer les performances JavaScript du moteur actuel de Firefox de près de 1000 %.
Cette nouveauté permettra aux développeurs de créer des applications Web complexes (surtout des jeux), pouvant s’exécuter dans le navigateur avec une vitesse quasi similaire à une exécution en natif. Pour cela, il faudra juste se familiariser avec asm.js. Ce projet se positionne comme un sérieux concurrent de Native Client (technologie permettant d'exécuter du code C/C++ à l'intérieur du navigateur dans un environnement protégé) de Google.
OdinMonkey a déjà été intégré dans la version Nightly de Firefox. Les développeurs enregistrés sur ce canal peuvent déjà tester la fonctionnalité sur un système d’exploitation Linux ou Windows. OS X n’est pas encore pris en charge.
OdinMonkey sera disponible en juin avec la version finale de Firefox 22.
Le projet asm.js
Le projet emscripten sur GitHub
Télécharger la version Nightly de Firefox
Source : Mozilla
Et vous ?
Que pensez-vous du projet asm.js ?
Allez-vous écrire votre code JavaScript en suivant les instructions que asm.js impose pour bénéficier des optimisations d'OdinMonkey ?
D’après la description de Mozilla, asm.js est – purement - du code JavaScript « spécialement conçu », qui est compilé en langage natif C/C++ avec emscripten avant exécution. Le code asm.js exécuté avec un navigateur standard comme Chrome ou encore Firefox sans OdinMonkey est environ dix fois plus lent sur le premier et 12 fois plus lent sur le second par rapport au code natif.
C’est à ce stade qu’intervient le module d’optimisation OdinMonkey. Il promet d’accélérer l’exécution de JavaScript au delà « des rêves les plus fous ». Selon Mozilla, il peut améliorer les performances JavaScript du moteur actuel de Firefox de près de 1000 %.
Cette nouveauté permettra aux développeurs de créer des applications Web complexes (surtout des jeux), pouvant s’exécuter dans le navigateur avec une vitesse quasi similaire à une exécution en natif. Pour cela, il faudra juste se familiariser avec asm.js. Ce projet se positionne comme un sérieux concurrent de Native Client (technologie permettant d'exécuter du code C/C++ à l'intérieur du navigateur dans un environnement protégé) de Google.
OdinMonkey a déjà été intégré dans la version Nightly de Firefox. Les développeurs enregistrés sur ce canal peuvent déjà tester la fonctionnalité sur un système d’exploitation Linux ou Windows. OS X n’est pas encore pris en charge.
OdinMonkey sera disponible en juin avec la version finale de Firefox 22.
Source : Mozilla
Et vous ?
-
_skipExpert éminentJustement je me demande si ça pourrait être le ciment manquant entre le JS pur et les surcouches de style Dart. Une sorte de llvm pour navigateur.
Je me vois pas trop écrire des kilomètres de code JS, en revanche dans un langage statique qui ensuite se compile vers une forme bien définie de JS optimisé c'est bien intéressant.le 28/03/2013 à 10:35 -
XitogMembre habituéPour ceux qui, comme moi, la phrase "D’après la description de Mozilla, asm.js est – purement - du code JavaScript « spécialement conçu », qui est compilé en langage natif C/C++ avec emscripten avant exécution." laisse perplexe, j'ai fait un petit dessin après enquête pour mieux comprendre. J'espère que ça aidera !
http://i.imgur.com/kmRqv92.png?1
En dernière étape, OdinMonkey traduit le javascript produit (qui est un sous-ensemble utilisant asm.js) en code natif, d'où le gain de performance indéniable.
Sources :
http://ejohn.org/blog/asmjs-javascript-compile-target/
http://kripken.github.io/mloc_emscripten_talk/#/
http://www.extremetech.com/computing/151403-firefox-sticks-it-to-google-with-odinmonkey-which-can-boost-javascript-performance-by-1000-or-morele 09/04/2013 à 12:27 -
XitogMembre habituéMais en fait c'est normal que l'on ne comprenne rien : la news est très mal rédigée, voir carrément fautive !Dans sa quête de meilleures performances pour l’exécution d’applications JavaScript, la fondation Mozilla a mis sur pied OdinMonkey, un nouveau module asm.js pour le moteur JavaScript de Firefox.
D’après la description de Mozilla, asm.js est – purement - du code JavaScript « spécialement conçu », qui est compilé en langage natif C/C++ avec emscripten avant exécution. Le code asm.js exécuté avec un navigateur standard comme Chrome ou encore Firefox sans OdinMonkey est environ dix fois plus lent sur le premier et 12 fois plus lent sur le second par rapport au code natif.C’est à ce stade qu’intervient le module d’optimisation OdinMonkey. Il promet d’accélérer l’exécution de JavaScript au delà « des rêves les plus fous ». Selon Mozilla, il peut améliorer les performances JavaScript du moteur actuel de Firefox de près de 1000 %.
Merci de ne pas tout mélanger !
*** en détails Emscripten s'occupe précisément de traduire la représentation intermédiaire LLVM en Javascript.
1. Source : Blog de Mozilla sur Javascriptle 09/04/2013 à 13:02 -
UtherExpert éminent sénior
Envoyé par Xitog
OdinMonkey est un module du moteur Javascript de Firefox nommé SpiderMonkey.
IonMonkey n'est lui aussi qu'un module de SpiderMonkey en charge de la compilation JIT des portion de code Javascript nécessitant des performances très élevés.le 09/04/2013 à 16:51 -
XitogMembre habituéMerci, j'ai corrigé dans le billet en question (pour ne pas laisser une phrase fausse) mais j'indique ma dette ici. J'ai été induit en erreur par l'article que je cite en source qui dit :
OdinMonkey is a module for Firefox’s IonMonkey JS engine
J'en profite aussi pour signaler aussi une actualité en date du 5 avril 2013 : SpiderMonkey va se doter d'un autre compilateur à la volée, Baseline.le 10/04/2013 à 11:29 -
UtherExpert éminent séniorQue pensez-vous du projet asm.js ?
A priori les gens d'epic on fait un port de l'unreal engine, ça semble prometteur.
Je regrette juste que le projet ne soit tiré que par Mozilla pour le moment.Allez-vous écrire votre code JavaScript en suivant les instructions que asm.js impose pour bénéficier des optimisations d'OdinMonkey ?le 27/03/2013 à 17:51