Firefox 3.1 booste l'exécution Javascript avec TraceMonkey

Le par  |  7 commentaire(s) Source : ArsTechnica
Firefox_new_logo

TraceMonkey est le nouveau moteur Javascript qui sera inclus dans Firefox 3.1 à la place de l'actuel SpiderMonkey. Utilisant une technique de compilation à la volée - JIT, Just In Time -, les gains de rapidité observés pourraient aller jusqu'à une quarantaine de fois le moteur actuel. De quoi améliorer la vitesse des sites Web " 2.0 ".

Firefox_new_logoFirefox 3 est sorti depuis maintenant plusieurs mois. La migration massive des utilisateurs des versions antérieures a depuis été amorcée. Nous vous avions parlé des avancées apportées par la future version majeure, la 3.1, prévue avant 2009 : moteur de rendu Gecko 1.9.1, meilleure prise en charge du HTML5, barre d'adresse intelligente améliorée...

Firefox 3.1 apportera également un nouveau moteur Javascript. TraceMonkey remplacera ainsi SpiderMonkey et, même si celui-ci n'est pas encore finalisé, il montre déjà des gains importants. On parle ainsi de performances multipliées. Le test  général SunSpider montre une vitesse x1,83 et, selon les cas, le temps d'exécution s'avère plusieurs dizaines de fois plus court qu'avec Firefox 3.

Il faut savoir que le Javascript est de plus en plus présent sur les sites Web dits 2.0, adeptes de la technique AJAX. Par exemple, Google Maps ou GMail en font abondamment usage. Or, ce langage est exécuté côté client et dépend du navigateur et de la machine utilisée. Une amélioration des performances du moteur Javascript est donc importante, notamment pour les ordinateurs vieillissants.

TraceMonkey est capable de lire le code exécuté et de le compiler à la volée pour une utilisation ultérieure. Cela signifie que sur des sites utilisant massivement Javascript, la seconde visite et les suivantes peuvent voir des gains de l'ordre de 20 à 40x.

TraceMonkey serait même plus rapide que SquirrelFish, la machine virtuelle utilisée par Safari. Cependant, Apple devrait également apporter de sensibles améliorations de ce côté avec Safari 4, à la date de sortie encore inconnue. TraceMonkey existe déjà pour les architectures x86, x86_64 et ARM. Cela signifie qu'il sera inclus dans les versions de Firefox PC et Mobile - Fennec.
Complément d'information

Vos commentaires

Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Le #306781
Il est prévu pour quand le 3.1 ?
Le #306791
Et pour quand sont prévue ces réjouissances?
Le #306811
Oups, mal lu...

"Nous vous avions parlé des avancées apportées par la future version majeure, la 3.1, prévue avant 2009"
Le #306861
Vivement qu'on passe l'effet de mode Ajax pour le voir employer seulement quand il a un réel intérêt et pas à tort et à travers comme de plus souvent...

Vivement l'âge de la raison quoi
Le #307311
Pour avoir fait le test avec sunspider.
Je ne constate qu'un gain de 23% donc facteur 1.23, tres loin donc du 1.83.
Sachant que lors du test firefox n'a jamais depasser les 15% de charge CPU, et que d'ailleur ma charge CPU global n'a pas depasser 20%

Bref, je sais pas comment ils ont fait leur test, mais ca doit etre un cas bien specifique ou l'ecart est flagrant.
Le #307391
C'est possible que Firefox ait désormais franchie la barre du non-retour marketing: après la campagne du "Download Day", les chiffres ahurissants sur de prétendues performances et une nouvelle révolution pour l'espèce humaine à chaque nouvelle version (comme le font les départements marketing de la plupart des éditeurs de logiciels).
Le #307571
Je suis du même avis que Luchy ... Quelques exemples d'emploi de javascript de manière contreproductive : Les menus déroulants (CSS), les dimensionnement selon la résolution de l'écran (css), les changements d'image (un bouton survolé : css ), les blocs mis invisibles avant impression (css) ...

Javascript est utile pour beaucoup de choses, mais avec parcimonie.
Suivre les commentaires
Poster un commentaire
Anonyme
:) ;) :D ^^ 8) :| :lol: :p :-/ :o :w00t: :roll: :( :cry: :facepalm:
:andy: :annoyed: :bandit: :alien: :ninja: :agent: :doh: :@ :sick: :kiss: :love: :sleep: :whistle: =]