Firefox est désormais « plus de 75 fois plus rapide » en exécutant WebAssembly
Mozilla déploie davantage d'améliorations de performances sur Firefox, cette fois axées sur le runtime WebAssembly du navigateur. Certaines tâches de traitement sont désormais plus de 75 fois plus rapides dans Firefox.
Certaines applications Web et jeux plus avancés utilisent du code qui se compile en WebAssembly, au lieu du code écrit ou compilé en JavaScript. WebAssembly est principalement utilisé pour les outils de rendu vidéo, audio et 3D complexes, tels que les versions Web d'Adobe Photoshop, SketchUp, Google Earth, Figma et les jeux créés avec Unity. Cependant, Firefox rencontre des problèmes de performances lors de la compilation du code WebAssembly, ce qui peut ralentir la réactivité et les temps de chargement initiaux des applications Web qui l'utilisent.
Un article sur le blog de développement SpiderMonkey de Mozilla explique : « Lorsque la compilation Baseline est terminée, nous compilons le module Wasm avec notre compilateur Ion plus avancé. Ce backend produit du code machine plus rapide, mais le temps de compilation est beaucoup plus long. Le problème avec le module ONNX était que le backend du compilateur Ion prenait beaucoup de temps et utilisait beaucoup de mémoire pour le compiler. Sur ma machine Linux x64, la compilation par Ion de ce module a pris environ 5 minutes et a utilisé plus de 4 Go de mémoire. Même si ce travail s'effectue sur des threads en arrière-plan, cela représentait encore trop de surcharge.
Les ingénieurs de Mozilla ont pu mettre à jour l'allocateur de registre pour le composant Ion de Firefox avec une méthode vectorielle plus efficace, qui a rendu les temps de compilation environ 20 fois plus rapides, et ont mis à jour d'autres composants du compilateur avec différents algorithmes. Le billet de blog indique : « Grâce à ces modifications, Ion peut compiler le module ONNX Wasm en moins de 3,9 secondes sur ma machine, soit plus de 75 fois plus rapidement qu'avant ces modifications. »
Le résultat final est que Photoshop, Google Earth et d'autres applications et jeux Web utilisant WebAssembly devraient généralement se charger plus rapidement dans Firefox. Le entier L'application Web n'obtiendra pas cette augmentation de vitesse « jusqu'à 75 fois », mais certaines opérations dans l'application seront plus rapides. Mozilla indique que l'un des grands modules WebAssembly utilisés par la démo gratuite en ligne de Photoshop se compile désormais en 14 secondes dans Firefox, au lieu de quatre minutes, et qu'un test du benchmark Web JetStream 2 se termine désormais en 0,2 seconde au lieu de 2,8 secondes.
Mozilla travaille sur d'autres améliorations de WebAssembly dans Firefox, les applications Web complexes devraient donc continuer à s'améliorer au fil du temps. C'est certainement formidable à voir, en plus d'autres améliorations de convivialité telles que la traduction locale.