Mozilla veut améliorer son moteur JavaScript
11 Mars 2010
Mozilla a annoncé récemment sur le blog d’un de ces développeurs qu’ils travaillaient depuis plusieurs mois à améliorer leur moteur JavaScript. Pourtant Firefox dispose de son propre moteur JavaScript qui s’appelle TraceMonkey, qui a été lancé pour la version 3.5 de Firefox cet été, mais les performances de ce dernier ne sont pas très bonnes pour certains code JavaScript (par exemple lorsque le code JavaScript ne se répète pas).
Des problèmes de performances avec Firefox ?
En effet, ils se sont rendus compte que dans certains cas, le rendu du JavaScript avec leur moteur était mauvais. Sans trop rentrer dans les détails techniques des moteurs de JavaScript. Leur moteur actuel TraceMonkey utilise un moteur «tracing JIT» alors que les autres navigateurs utilisent un «method-based JIT». Et ils se sont aperçus que les moteurs basé sur des méthodes JIT sont plus efficace dans certains cas.
Pour palier à ce petit problème de performances (parce qu’il faut dire que les performances de FireFox en JavaScript ne sont tout de même pas mauvaises), l’équipe de Mozilla va utiliser le code source d’un autre moteur d’exécution JavaScript qui n’est autre que celui de Nitro, le moteur JavaScript utilisé par Apple pour son navigateur Safari.
Pourquoi utiliser Nitro ?
Nitro est un excellent moteur de JavaScript qui a l’avantage d’être open-source et disponible en multi-plateforme. Mozilla peut donc extraire simplement une partie du code qui les intéresse par exemple la partie concernant les «method-based JIT» pour l’ajouter à leur propre moteur. Cela leur permettra donc de grandement améliorer les performances de leur moteur pour les cas qui auparavant pouvait poser problème à Firefox.
Le résultat ?
Pour la version 4.0 de Firefox, un nouveau moteur JavaScript devrait voir le jour, aujourd’hui il répond au doux nom de JägerMonkey (chasseur de singe ? ) et permettra je l’espère d’améliorer encore les performances JavaScript du navigateur de Mozilla. En espérant également que cela continue à rendre le moteur Nitro plus rapide en intégrant pourquoi pas les fonctionnalités de Firefox sur le «tracing JIT».
Sources : Daring Fireball & Hacks Mozilla