В Firefox compilateur JIT mis à jour, nom de code WarpBuilder. Pour activer le nouveau JIT, l'option "javascript.options.warp" est fournie dans about:config.
Il est à noter que WarpBuilder n'est que la première étape vers l'intégration de nouvelles optimisations dans le navigateur, dont la mise en œuvre est prévue au cours de l'année prochaine.
Le nouveau JIT améliore les performances du moteur JavaScript SpiderMonkey en réduisant les informations de type internes suivies dans le moteur et en utilisant auparavant la technique de mise en cache de code intermédiaire (CacheIR). dans l'interpréteur de bytecode « de base », qui occupe une niche intermédiaire entre un interpréteur régulier et un compilateur pré-JIT. Ces changements ont permis de simplifier considérablement l'architecture JIT, d'augmenter la réactivité, de réduire le temps de chargement des pages et de réduire la consommation mémoire.
que le nouveau JIT a résolu de nombreux problèmes de l'ancien JIT IonBuilder, tels que :
- Complexité de mise en œuvre et problèmes de sécurité potentiels ;
- Surcharge supplémentaire pour le code Baseline/C++ ;
- Spécialisation excessive conduisant à des recompilations inutiles ;
- Génération de code intermédiaire (IR de niveau intermédiaire) dans le thread principal (dans WarpBuilder, l'assembly principal du code intermédiaire est placé dans un thread séparé) ;
- Consommation de mémoire supplémentaire pour stocker des données sur les types et les groupes d'objets (ObjectGroups).
En moyenne, dans les tests qui évaluent les performances sur la base de métriques visuelles, une accélération de 5 à 15 % est observée lors de l'utilisation de WarpBuilder. Le taux d’achèvement des tests du compteur de vitesse a augmenté de 10 %. Les tests sur des sites réels ont montré une réduction du temps de chargement de Google Docs de , indice lors de l'ouverture de la section Android sur Reddit améliorée par , pdfpaint a commencé à fonctionner plus rapidement sur . Consommation de mémoire dans le test diminué de 8%. les statistiques des outils de développement (devtools perf) ont également montré une réduction de 8 % de la consommation de mémoire.
Source: opennet.ru
