Les performances Javascript de Firefox à travers le temps

Billet

Par curisosité, j'ai installé  sur ma machine toutes les versions de Firefox depuis sa création et je leur ai fait passer le test Sunspider (de l'équipe Webkit), voici les résultats:

Firefox, test Sunspider à travers le temps
1.0 1.5 2.0 3.0 3.5 3.6b5 trunk
13.394 12.721 12.385 3.173 1.432 1.170 979

Plus le chiffre est petit, mieux c'est. Sous Linux Opera 10.10 est à 5.000 et Chrome/Chromium en nightly est premier avec 500ms, pas d'IE chez moi puisque je suis sous Linux mais ils sont très très loin derrière tout le monde (genre un facteur 20) d'après ce que j'ai pu lire sur d'autres sites.

Et un joli graphique pour illustrer :


Nous ne sommes donc pas les premiers sur ce test mais nous sommes très loin d'être ridicules ! Il est utile de rappeler que nous continuons de progresser régulièrement et énormément sur les perfs javascript et que ces améliorations profitent aussi à la version Linux (de toutes façons, on est vendredi, j'ai le droit de troller ;) ). D'ailleurs, c'est bien grâce aux améliorations énorme de notre moteur que les démos de Paul sont maintenant possibles!

Un petit rappel si vous utilisez Firebug, votre moteur de compilation JIT de javascript est désactivé et vous aurez donc des perfs équivalentes à celles de Firefox 3.0, même si vous êtes en 3.5. La version 1.5beta7 de Firebug sortie hier devrait résoudre ce bug.

Commentaires

1. Le vendredi 18 décembre 2009, 17:03 par jmdesp

La différence entre la 3.0 et la 2.0, ce n'est pas le JIT alors ?

Qu'est ce qui divisé par 4 le temps entre les deux ? Au premier coup d'oeil, je me suis dis que cela devait être une première version de JIT, pas encore totalement optimisée, mais si c'est pas cela, je me demande bien ce que c'est. Et je suis surpris que le JIT n'ait donné qu'un facteur 2.

2. Le vendredi 18 décembre 2009, 17:50 par Pascal Chevrel

@jmdesp

Le JIT est arrivé après 3.0, je pense que l'énorme différence tient au fait que Firefox 3 représentait un gros changement d'architecture à tous les niveaux (nouvelle version de gecko, reflow branch, passage à cairo, PGO, javascript 1.8...) et a été développé pendant plus de deux ans en parallèle de la version 2, alors que Firefox 3.5 est le résultat d'un cycle de développement plus court.

3. Le vendredi 18 décembre 2009, 19:53 par Mjules

à noter qu'en 64 bits sous linux, le jit n'est actif que sur le tronc (future 1.7) à ma connaissance, donc même remarque qu'avec firebug.

4. Le lundi 21 décembre 2009, 13:26 par Daniel Glazman

Je confirme. Des codes que j'avais du écrire en c++ parce que trop lents en JS du temps de Nvu sont désormais écrits en JS dans BlueGriffon et il n'y a aucun lag...