IonMonkey : Mozilla renforce les performances JavaScript de Firefox
Avec l'optimisation de la compilation Just in Time

Le , par Nissa Comet, Expert confirmé
Avec la complexité grandissante des applications Web interactives, les navigateurs web se doivent d’être toujours plus performants. C’est ce que fait Mozilla en travaillant sur une nouvelle architecture de compilation JavaScript.

IonMonkey est le nouveau compilateur « Just In Time » en test du navigateur Firefox pour le langage JavaScript. Il verra le jour en tant que composant à part entière de Firefox 18 en début 2013.

IonMonkey se distingue du courant JIT JägerMonkey avec l’étape d’optimisation. Il est destiné aux applications JavaScript qui fonctionnent pendant de longues durées. David Anderson, développeur chez Mozilla, a expliqué sur le blog JavaScript de Mozilla que l’architecture de IonMonkey utilise un processus de compilation en trois étapes. Comme font les compilateurs d'autres langages tels que C++, le code JavaScript est traduit dans une représentation intermédiaire qui sera, elle, optimisée et convertie en code-machine.

D’après des tests, les résultats de rendement initiaux pour IonMonkey sont sensiblement meilleurs que les versions précédentes du compilateur JIT. Comparé à Firefox 17, Firefox 18 améliorerait les performances de 7 % sur le benchmark V8 de Google et de 26 % pour le benchmark Kraken de Mozilla.


Anderson et son équipe se montrent fiers de leur travail : « nous sommes ravis, non seulement pour le gain obtenu en performances, mais aussi car nous lançons une nouvelle ère de recherche dans le domaine des compilateurs JavaScript. C’est maintenant possible d’écrire un algorithme d’optimisation, utiliser un pipeline pour le mettre en œuvre et voir ce qu’il fait ».

Firefox 18 est prévu pour le 8 novembre en version beta. La version finale ne sera disponible qu’en 2013.

Source : le blog JavaScript de Mozilla

Et vous ?

Que pensez-vous de cette nouvelle approche d'optimisation JavaScript ?
Aura-t-elle un intérêt réel pour les applications Web ?



Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de raimbow raimbow - Membre du Club https://www.developpez.com
le 13/09/2012 à 15:28
Je me posais justement la question récemment si c'était possible d'utiliser un cache opcode pour javascript comme APC cache par exemple pour PHP

Parce que j'imagine que tout le code JS est à chaque fois entièrement convertie en opcode mais est-ce bien utile de faire l'opération à chaque fois ? Les navigateur ne pourrait-il pas garder en cache une copie de la version compilé si le serveur renvoi un code 304 not-modified pour la ressource ? C'est peut être déjà le cas ?
Avatar de pmithrandir pmithrandir - Membre expert https://www.developpez.com
le 13/09/2012 à 15:44
Ce que je me demande pour ma part, c'est si firefox ne pourrait pas pré-compiler des frameworks comme jquery, et les utiliser avec toutes les optimisations possibles. Quand on voit qu'ils équipent 70-80% des nouveaux produits... on peut surement avoir un gain non négligeable de ce point de vue la non ?
Avatar de Paul TOTH Paul TOTH - Expert éminent sénior https://www.developpez.com
le 13/09/2012 à 15:54
Citation Envoyé par pmithrandir  Voir le message
Ce que je me demande pour ma part, c'est si firefox ne pourrait pas pré-compiler des frameworks comme jquery, et les utiliser avec toutes les optimisations possibles. Quand on voit qu'ils équipent 70-80% des nouveaux produits... on peut surement avoir un gain non négligeable de ce point de vue la non ?

le gain serait encore plus spectaculaire si jQuery était natif à JS. En fait le plus mieux ça serait de ne pas coder en JS !!!
Avatar de ferber ferber - Membre éprouvé https://www.developpez.com
le 14/09/2012 à 7:39
Citation Envoyé par pmithrandir  Voir le message
Ce que je me demande pour ma part, c'est si firefox ne pourrait pas pré-compiler des frameworks comme jquery, et les utiliser avec toutes les optimisations possibles. Quand on voit qu'ils équipent 70-80% des nouveaux produits... on peut surement avoir un gain non négligeable de ce point de vue la non ?

Il ont déjà le code pour le faire:
le projet tamarin, le javascript (ecma 4) et converti ( pré-compilé ) en fichier Abc ( qui contient des op codes).
Offres d'emploi IT
Ingénieur intégration, validation, qualification du système de drone H/F
Safran - Ile de France - Éragny (95610)
Ingénieur analyste programmeur (H/F)
Safran - Auvergne - Montluçon (03100)
Chef projet big data - pse flotte H/F
Safran - Ile de France - Évry (91090)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil