Firefox 18 : le compilateur JavaScript IonMonkey arrive

La fondation Mozilla a annoncé ses ambitions : améliorer de 26% la vitesse d'exécution de son moteur JavaScript. Pour cela, elle prépare un nouveau compilateur.

Ce sera sans nul doute la principale évolution de Firefox 18 : le moteur Javascript SpiderMonkey sera doté d'un nouveau compilateur Just-in-Time (JIT), baptisé IonMonkey. Fruit d'un travail de plusieurs années au sein des équipes de la fondation Mozilla, il introduit un changement profond dans l'architecture de de SpiderMonkey.

Dans un long post, David Anderson, ingénieur logiciel pour Mozilla, a détaillé les ambitions de l'équipe de développement. Objectif affiché : ajouter une étape d'optimisation avant la traduction finale en langage machine. Pour ce faire, la fondation a défini un processus en trois étapes, équivalent à ceux des compilateurs C++ :

 Traduire le code dans une représentation intermédiaire (IR),

 Exécuter divers algorithmes pour optimiser ce code intermédiaire,

 Traduire l'IR final ainsi optimisé en code machine.

"Cette brique améliora la performance et nos capacités de maintenance, mais permettra aussi de faciliter les optimisations futures du compilateur", explique David Anderson. "Il rend en effet possible la création d'un algorithme d'optimisation, et son intégration dans le processus."

Plusieurs indicateurs de performance sont publiés par l'ingénieur, en se basant sur les tests Kraken benchmark de Mozilla et Benchmark V8 de Google. Comparé à Firefox 17, Le premier estime l'amélioration de la performance de Firefox 18 à 26%, et le seconde à 7%.

benchmark
Les tableaux publiés par Mozilla comparant les performances JavaScript de Firefox 17 et 18, par le biais des tests Kraken benchmark et Benchmark V8. © Mozilla

Navigateurs / Navigateur Internet