Petit à petit, Mozilla poursuit ses efforts pour optimiser et améliorer les performances de son navigateur Firefox. En l’occurrence, le travail de la fondation s’est concentré sur JavaScript en s’appuyant sur Warp du moteur JavaScript SpiderMonkey. Egalement appelé WarpBuilder, Warp améliore la réactivité et l'utilisation de la mémoire et accélère le chargement des pages en apportant des modifications aux compilateurs JiT (just in time).
Disponible dans la version 83 de Firefox
L'optimisation de JiT est modifiée pour reposer uniquement sur le format de bytecode linéaire simple CacheIR, en particulier les données CacheIR collectées par les niveaux de base. L'architecture exploitée dans le navigateur est également décrite comme étant plus facile à maintenir et débloquant des améliorations supplémentaires de SpiderMonkey. La version 83 de Firefox a été publiée en version bêta le 20 octobre et devrait être disponible le 17 novembre. Il a été démontré que Warp est plus rapide qu'Ion, le précédent JiT d'optimisation de SpiderMonkey, y compris une amélioration de 20 % du temps de chargement de Google Docs. D'autres sites web utilisant JavaScript, tels que Netflix et Reddit, ont également connu une amélioration.
Un remplacement progressif
Le fait de baser Warp sur CacheIR a permis de supprimer dans tout le moteur le code nécessaire pour suivre les données d'inférence de type global utilisées par IonBuilder, ce qui a entraîné des accélérations. Bien que les deux solutions produisent tous deux Ion MIR, une représentation intermédiaire utilisée par le back-end optimisé de JiT, IonBuilder avait beaucoup de code complexe dont son successeur n'a pas besoin. Warp peut également faire plus de travail et nécessite moins de recompilations. Des plans prévoient de poursuivre l'optimisation de Warp, qui est actuellement plus lent qu'Ion sur certains benchmarks.
Warp a remplacé le front-end - la phase de construction du MIR - de IonMonkey JiT. Il est prévu de supprimer l'ancien code et l'ancienne architecture, ce qui devrait se produire dans Firefox 85. D'autres améliorations des performances et de l'utilisation de la mémoire sont prévues. Mozilla continuera également à optimiser progressivement le back-end de IonMonkey JiT, car elle estime qu'il est encore possible d'améliorer les workload intensifs en JavaScript. Un outil permettant aux développeurs web et à Mozilla d'explorer les données CacheIR pour une fonction JavaScript est également en cours de développement.