Safari : nouveau moteur Javascript
Alors que la part de Safari ne cesse de grimper dans les statistiques d’utilisation des navigateurs internet (voir la dépêche d’hier) et que de nombreuses entreprises intègrent le moteur de rendu WebKit dans leurs applications ou matériels comme Qt, Android, Adobe AIR, iCab, KDE Plasma et bien d’autres.
Les développeurs qui travaillent sur la partie JavaScript du WebKit viennent d’annoncer un changement de moteur.
SquirrelFish a été développé avec un but en tête : ses performances à l’exécution. Il est issu de travaux récents des chercheurs Anton Ertl et Professor David Gregg ainsi que leurs équipes.
Les améliorations apportées par ce nouvel interpréteur touchent essentiellement la manière dont la structure du script est transformée en arbre puis la manière dont cet arbre est parcouru. Les branches inutiles sont “élégamment” ignorées et les accès à la mémoire de l’ordinateur sont significativement réduits grâce à cette pré-analyse de l’arbre qui permet d’effectuer un seul accès mémoire pour l’exécution au lieu de multiples accès tout au long de la lecture de l’arbre qui représente la structure du script.
D’après l’outil de test des performances JavaScript SunSpider, écrit en interne mais à la disposition de tous, l’amélioration est notable puis que si en une minute, le WebKit 3.0 permettait de lancer 7,1 fois le script de test, si le WebKit 3.1 permettait d’atteindre 19,1 tours, le dernier WebKit associé au nouvel interpréteur permet d’atteindre 30,6 tours, soit une amélioration de 60% des performances.
Après l’amélioration de la vitesse du rendu du html depuis les premières versions de Safari (dont le navigateur avait bien besoin), le JavaScript est effectivement un chantier d’avenir pour les navigateurs vu la multiplications des applications riches qui apparaissent sur internet. Et plus l’interprétation du JavaScript sera rapide, plus rapide seront les applications web … ou plus lourdes, mais c’est un autre problème !