Quel est l’impact de TraceMonkey ?

Je parlais dans un billet il y a une grosse semaine de l’arrivée du compilateur JIT pour le module javascript de Shiretoko du doux nom de TraceMonkey.

J’ai voulu voir le gain de vitesse pure en terme d’interprétation de javascript. Pour cela j’ai utiliser SunSpider, et différents navigateurs, à savoir Firefox 3.0.1, une pré-béta1 de Shiretoko compilée maison en suivant les options officielles de compilation.

A titre de comparaison, j’ai aussi testé Opera 9.52 et une nouvelle préversion d’Opera 9.60 qui sortira d’ici quelques semaines, et peut-être un peu avant Shiretoko prévu pour le début 2009.

Voici donc les résultats, capture d’écran à l’appui pour chaque :

Firefox 3.0.1 : 6684

SunSpider avec Firefox 3.0.1

Shiretoko pré-béta1 : 6149

SunSpider avec Shiretoko pré-beta1

Opera 9.52 : 12813

SunSpider avec Opera 9.52

Opera 9.60 (révision 2410 pour Linux en date du 29 août 2008) : 13203

SunSpider avec Opera pré-9.60

Ce qui donne coté classement :

  1. Shiretoko pré-bêta1
  2. Firefox 3.0.1 : 8,70% plus lent.
  3. Opera 9.52 : 108,38% plus lent.
  4. Opera 9.60 : 114,72% plus lent.

Donc, on peut en déduire que TraceMonkey permet de gagner environ 8 à 9% de vitesse pure pour l’interprétation de Javascript, ce qui est quand même pas si mal que cela au final.

Il est quand même étrange de noter qu’Opera soit aussi lent en Javascript. A moins qu’une révolution soit à prévoir dans ce domaine pour la version 10 du navigateur norvégien ? 🙂