Comme on le sait, les versions de Firefox s’enchainent désormais au même rythme que pour Chrome : toutes les six semaines. Les nouveautés arrivent donc progressivement mais de manière très régulière. Une amélioration importante sur le JavaScript prévue pour Firefox 5 est finalement repoussée à la version 9 qui profitera donc d’une hausse sensible des performances.
Le compilateur JIT (Just-In Time) JaegerMonkey de Firefox va se voir ajouter une fonctionnalité importante : l’inférence de type. Sans trop entrer dans les détails, il s’agit pour le compilateur de deviner lui-même le type associé à une expression dans le code JavaScript. Selon Mozilla, cette seule addition permettrait une hausse des performances de 20 à 30 %.
Si les explications sont complexes, les chiffres lors des benchmarks sont nettement plus parlants. Le site ExtremeTech s’est ainsi penché sur la question et a obtenu les résultats suivants :
Les temps obtenus avec et sans l’inférence sont très clairement à l’avantage de la nouvelle fonctionnalité. Les tests sur les benchs Kraken et V8 ont montré eux aussi des gains, et même les tests HTML5 de Microsoft ont montré des améliorations de 15 à 20 %.
Les différences de performances peuvent être exprimées vis-à-vis de l’actuelle version 6 de Firefox. ExtremeTech précise en effet que les machines virtuelles JavaScript sont pratiquement les mêmes entre les moutures 6 et 9 et seule l’activation de l’inférence de types change la donne.
Pour ceux qui voudraient tester l’inférence, gardez à l’esprit que Firefox 9 n’est même pas encore dans le canal Aurora, mais toujours dans les Nightly. Il se peut donc que vous constatiez de nombreuses instabilités, et surtout un comportement étrange de certains scripts.
Le compilateur JIT (Just-In Time) JaegerMonkey de Firefox va se voir ajouter une fonctionnalité importante : l’inférence de type. Sans trop entrer dans les détails, il s’agit pour le compilateur de deviner lui-même le type associé à une expression dans le code JavaScript. Selon Mozilla, cette seule addition permettrait une hausse des performances de 20 à 30 %.
Si les explications sont complexes, les chiffres lors des benchmarks sont nettement plus parlants. Le site ExtremeTech s’est ainsi penché sur la question et a obtenu les résultats suivants :
Les temps obtenus avec et sans l’inférence sont très clairement à l’avantage de la nouvelle fonctionnalité. Les tests sur les benchs Kraken et V8 ont montré eux aussi des gains, et même les tests HTML5 de Microsoft ont montré des améliorations de 15 à 20 %.
Les différences de performances peuvent être exprimées vis-à-vis de l’actuelle version 6 de Firefox. ExtremeTech précise en effet que les machines virtuelles JavaScript sont pratiquement les mêmes entre les moutures 6 et 9 et seule l’activation de l’inférence de types change la donne.
Pour ceux qui voudraient tester l’inférence, gardez à l’esprit que Firefox 9 n’est même pas encore dans le canal Aurora, mais toujours dans les Nightly. Il se peut donc que vous constatiez de nombreuses instabilités, et surtout un comportement étrange de certains scripts.