SunSpider : le testeur de JavaScript

Christophe Laporte |
Avec le développement des services web, il est devenu important pour Apple d'avoir un moteur d'exécution de JavaScript très performant. Puisqu'on n'est jamais mieux servi que par soi-même, l'équipe de développement de WebKit a mis au point SunSpider. Actuellement en 0.9, cet outil permet de tester les performances JavaScript d'un navigateur en lançant une série de tests portant sur différents aspects : fonctions mathématiques, 3D, crypto… Les concepteurs de SunSpider ont conçu cette série de tests afin qu'elle soit le plus fidèle possible à la réalité.

L'occasion ou jamais de vérifier les dires de l'équipe de développement de Safari qui affirmait récemment que les dernières versions de Webkit possédaient un moteur JavaScript bien plus performant que celui de Safari 3. Et effectivement, si l'on se fie aux résultats de SunSpider, il n'y a pas photo. La dernière build du navigateur libre d'Apple met deux fois moins de temps à finir le test que Safari 3. WebKit également les autres navigateurs disponibles sur notre plate-forme.

Voici à titre d'informations les résultats de nos tests réalisés sur MacBook Core 2 Duo :







































Navigateur Version utilisée Temps total d'exécution
Safari
3.0.4
9438 ms
Camino
1.6a1
11 763 ms
Webkit
r28848
4028 ms
Opera
9.5 Beta 4579
7332 ms
Firefox
3.0ß2
9068 ms
OmniWeb
5.7 sp1
10 281 ms
avatar fabricepsb | 

ce webkit en version 28848 il va être intégré dans les prochaines versions de Safari ou ça n'a aucun rapport ?
c'est quoi webkit par rapport à safari ?

avatar Chamyky | 

@fabricepsb : Webkit, c'est le moteur d'affichage de Safari, ce qui affiche le pages. Il est également utilisé dans d'autres navigateurs.
Et Firefox, Camino et d'autres utilisent Gecko, le moteur de rendu de Mozilla.

avatar Michel Poulain | 

> fabricepsb : WebKit est le moteur de rendu HTML de Safari.

Safari est juste la coquille (ou GUI pour Graphic User Interface) pour te permettre de surfer sur le net : signet, bouton retour, onglets, etc... WebKit est aussi le moteur commun à toutes les applications de Mac OS X : pour afficher les emails sans Mail.app, pour afficher les aides de Mac.

Et ce moteur est même utilisé par d'autres navigateurs sur Mac OS, comme Omniweb ou même dans d'autres appareils, comme les téléphones Nokia et Androïde (Google phone). C'est aussi la base de AIR, l'application web d'Adobe qui fonctionne sur Mac et PC (et bientôt Linux).

avatar Michel Poulain | 

Il fallait bien évidemment lire «pour afficher les emails DANS mail.app» et pas sans mail.app

avatar landry | 

Bon ca confirme ce que je pensais avoir compris...
Mais ce qui me laisse perplexe, pour le coup, c'est l'énorme différence
entre Safari et Webkit !

avatar fabricepsb | 

merci pour vos explications les gars.
@ landry : la différence s'explique par le fait que webkit s'est amélioré depuis que Safari 3.0.4 est sorti

avatar BreiZH | 

Un gentil développeur a simplement enlevé les NOP du programme et à utilisé l'option -O3 à la place de O0 ;-) Car des gains de 50% dans une applications déjà soit disant optimisée depuis longtemps... ça craint !

avatar Douflou | 

Euh, des explications BreiZH ?
C'est quoi NOP, -O3 et O0 ?

avatar arobasefr | 

Je trouve en effet la même tendence avec :

Safari 3.1.1
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total: 10540.8ms +/- 0.7%
_____________________________________________
WebKit-SVN-r34318
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total: 5356.2ms +/- 0.5%
_____________________________________________
Firefox 3 RC1
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total: 7715.0ms +/- 1.0%
--------------------------------------------
_________________________________________
Camino 1.6.1
============================================
RESULTS (means and 95% confidence intervals)
--------------------------------------------
Total: 29161.2ms +/- 0.8%
--------------------------------------------

avatar gerney | 

http://www2.webkit.org/perf/sunspider-0.9/sunspider-results.html?{%223d-cube%22:[50,31,30,32,33],%223d-morph%22:[37,37,36,37,38],%223d-raytrace%22:[52,52,52,53,54],%22access-binary-trees%22:[31,30,31,30,31],%22access-fannkuch%22:[49,49,49,48,48],%22access-nbody%22:[19,19,19,19,20],%22access-nsieve%22:[8,9,9,8,8],%22bitops-3bit-bits-in-byte%22:[1,1,1,1,1],%22bitops-bits-in-byte%22:[8,8,8,8,8],%22bitops-bitwise-and%22:[2,2,2,3,2],%22bitops-nsieve-bits%22:[18,18,18,18,19],%22controlflow-recursive%22:[33,34,33,34,33],%22crypto-aes%22:[26,44,26,37,32],%22crypto-md5%22:[12,12,12,12,12],%22crypto-sha1%22:[7,7,6,6,6],%22date-format-tofte%22:[66,66,68,72,72],%22date-format-xparb%22:[69,110,114,85,83],%22math-cordic%22:[19,20,20,20,20],%22math-partial-sums%22:[11,12,11,11,11],%22math-spectral-norm%22:[5,6,5,6,6],%22regexp-dna%22:[44,48,50,53,60],%22string-base64%22:[12,13,13,12,12],%22string-fasta%22:[55,58,57,57,57],%22string-tagcloud%22:[63,64,64,67,68],%22string-unpack-code%22:[98,99,100,100,104],%22string-validate-input%22:[22,22,23,25,27]}

CONNEXION UTILISATEUR