Safari 4 fonce sur le JavaScript

Vincent Absous |
Avec Safari 4, Apple a repris à son compte l'argument de la vitesse au jeu du rendu JavaScript. Dans le domaine, c'est presque le jeu du "chat". Pourtant, à en croire les tests effectués par Computerworld dans le domaine du JavaScript sous XP, le navigateur d'Apple ne fait pas la course en tête. Il est certes bien plus rapide que ne l'est la version 3.0.6 de Firefox (3,5 fois plus véloce), et même que les "nightly builds" du même navigateur, mais c'est bien Chrome, le navigateur de Google qui lui dame le pion. Consolation, la version "officielle" de Safari, numérotée 3.3.2 arrive à faire mieux pour le moment que la Realease Candidate 1 d'Internet Explorer, le navigateur de Microsoft (Safari 4 est même 5,6 fois plus rapide que lui).


safari4_benchmark.jpg


Évidemment, si l'on ne prend en compte que le seul marché Mac, d'où Google est encore absent, Safari 4 l'emporte haut la main. Il est même jusqu'à deux fois plus rapide que les préversions de Firefox 3.1.

Sur le même sujet :
Safari 4 domine sur les tests JavaScript et Acid

Tags
avatar hogs | 
Je suis vraiment curieux de connaitre les raisons de telles différences de traitement (sans troll anti MS svp) ? Y a t'il des éléments techniques liés aux choix de MS d'avoir intégré aussi profondéement IE dans l'operating system ?
avatar devon88 | 
C'est bien logique que Gogle soit devant en terme de Javascript tous leurs futurs projets sont basé la dessus, la preuve avec "chrome+gears" de faire des applis comme zoho soit "on line" ou "off-line". Même si pour le moment les applis Web sont loin d'être aussi conviviale que des des logiciels comme Pages 09 ou Office les technos web avance vite et la seule limitation de ces applications sera la bande passante. Bref les applis locales ont encore de beaux jours devant elles et même si j'ai bien un compte Hotmail et Gmail ils sont tous les deux rapatriés sur mail soit "imap" ou en "POP3" et je les consultes le plus souvent possible par Mail 3.5 mais il est vrai qu'ils sont bien pratique quand on est en déplacement et que l'on a pas son MacBook sous la main.
avatar vintz72 | 
Ce serait bien de temps en temps de comparer la vitesse du rendu HTML aussi. Parce que bon, le javascript, c'est bien, mais sur la plupart des sites, ce n'est pas la majorité du code...
avatar philus | 
Parce-qu'ils ont toujours programmé avec les pieds à Redmond. Oups, je me suis laissé aller Plus sérieusement, toutes leurs applications sont mal optimisées. Tant qu'il n'y a pas de concurrence, tout va bien, mais dès que l'on commence à comparer les performances, aie. ( ex: accès en réseau, SQL server, etc) Et encore, Linux et OS X ne sont pas non plus optimisés comme ils devraient l'être (pour l'instant). Regardez ce que peut faire un OS moderne tel que QNX ou BEOS (bien que ce dernier ai été abandonné) et vous verrez qu'il serait facile de multiplier la vitesse de nos ordis par 2 ou 3 sans le moindre problème. Mais il faudrait repartir d'une feuille blanche...
avatar Michel Poulain | 
> hogs : la raison du retard de Microsoft, c'est que tous les navigateurs ont adopté une nouvelle technologie de compilation du Javascript en langage machine "à la volée" : Nitro (Safari), V8 (Chrome), TraceMonkey (Firefox). Tous ? Non, pas IE évidemment. Apparemment, les clients de Microsoft n'en ont pas besoin selon Microsoft.
avatar hairquatercut | 
Une question: quelle est la méthode ou la procédure pour établir les performances d'un navigateur ?
avatar hogs | 
> Michel Poulain: Merci pour l'info, là je comprends mieux une telle différence :) Effectivement, tout casser et repartir d'une feuille blanche serait la meilleure des solutions pour nous autres utilisateurs, mais certainement pas celle des fabricants (hard/soft) qui vivent de cette fuite en avant du renouvellement nécessaire, l'un tirant l'autre en avant et vice-versa.
avatar Anonyme (non vérifié) | 
@philus - "Et encore, Linux et OS X ne sont pas non plus optimisés comme ils devraient l'être (pour l'instant). Regardez ce que peut faire un OS moderne tel que QNX ou BEOS (bien que ce dernier ai été abandonné) et vous verrez qu'il serait facile de multiplier la vitesse de nos ordis par 2 ou 3 sans le moindre problème". C'est exactement ce que va nous proposer Snow Leopard.
avatar arsinoe | 
[quote=Michel Poulain]la raison du retard de Microsoft, c'est que tous les navigateurs ont adopté une nouvelle technologie de compilation du Javascript en langage machine "à la volée" : Nitro (Safari), V8 (Chrome), TraceMonkey (Firefox). Tous ? Non, pas IE évidemment. Apparemment, les clients de Microsoft n'en ont pas besoin selon Microsoft.[/quote] La compilation "just in time" est un gain quand il y a beaucoup de code à éxecuter, mais ça peut être une perte quand il y en a peu. Et puis il suffit de voir la différence de performance javascript entre Firefox et Chrome pour se rendre compte que ce n'est pas forcement seulement ça qui fait la différence. Je pense que MS mise plus sur Silverlight que sur le JavaScript.
avatar philus | 
Sans aller jusqu'à une refonte complète, je mets beaucoup d'espoir dans le boulot qui a été fait sur Snow Leopard. En tout cas la démarche, quoique critiquée, est on ne peut plus louable. C'est d'ailleurs en général la politique d'Apple: ne pas faire toujours plus, mais toujours mieux (ie: iphone qui n'est pas techniquement le meilleurs, mais qui est de loin le plus utilisable )
avatar Anonyme (non vérifié) | 
Safari 4 est vraiment rapide. Mais sur certaines opérations seulement. Je viens d'effectuer un test avec Sunspider, (http://www2.webkit.org/perf/sunspider-0.9/sunspider.html) et c'est le meilleur chiffre que j'ai obtenu avec un navigateur : 832.8ms +/- 1.1% le dernier que j'avais effectué avec la dernière version du Webkit (http://www2.webkit.org/) était de 1142ms. Toutefois il est vrai que dans la pratique de tous les jours je ne retrouve pas cette vélocité. iCab, dont on parle très peu malheureusement, et pourtant il vaut le détour, (mon préféré après Safari) paraît visuellement ou donne peut-être l'illusion d'être plus réactif. 943.8ms sur Sunspider quand même ce qui le place dans le peloton de tête devant des pointures comme Firefox par exemple.
avatar Anonyme (non vérifié) | 
J'y gagne rien, mais testez moi ça pendant quelques temps : http://www.icab.de/dl.php
avatar Dr_cube | 
@ philus : faire de belles interfaces utilisables, c'est aussi de la technique ! Faut pas croire que ça se fait au hasard, il faut des ingénieurs pour ça. Donc l'iPhone est aussi "techniquement le meilleur". Niveau hardware j'en sais rien, mais sur les logiciels et sur le système, il est techniquement meilleur que les Windows Mobile. Et puis sur le hardware, à vue de nez, l'écran tactile multi-touch de l'iPhone est bien plus réactif que les écrans tactiles de la plupart des téléphones iPhone-like de la concurrence. Donc dire que l'iPhone n'est pas "techniquement le meilleur" est un peu exagéré. A tout niveau il a des années d'avances sur les autres.
avatar oomu | 
"Je suis vraiment curieux de connaitre les raisons de telles différences de traitement (sans troll anti MS svp) ? Y a t'il des éléments techniques liés aux choix de MS d'avoir intégré aussi profondéement IE dans l'operating system ? " il est impossible de vous répondre sans être désagréable envers microsoft. il n'y a pas de raisons techniques, juste des raisons de verrouillage du marché. Si je vous expliquais en détail, vous m'accuserez, moi et les juges qui ont condammné microsoft, de troll. donc je ne peux pas vous répondre. désolé. - qnx n'est PAS plus "zoptimisé" qu'autre chose, il est juste un os minimaliste dans la principale qualité est d'être un unix temps réel. Vous n'en voudriez PAS pour votre photoshop. je vous le garantis. la zoptimization ne veut rien dire. Evidemment que linux, os X et windows sont écrit au mieux , c'est à dire que leur écriture est compilée de manière efficace pour les cpus (ben vi). Mais ensuite viennent les choix architecturaux et les décisions des développeurs et dirigeants, et cela affecte grandement le produit final. - Beos était plus moderne que le windows de l'époque, et plus complet que le petit linux de l'époque, mais de nos jours il ne présente aucun intérêt. ni son système de fichier, ni son navigateur de fichier, ni rien. Rappelons que beos sacrifiait beaucoup d'un unix traditionnel : pas de multi-utilisateur (cela à des conséquences inattendues), beaucoup de services standards en moins. Il apportait aussi beaucoup : une api plus moderne que posix et windows, des services de meta-données très sophistiqués. face à cocoa et spotlight, par contre, cela vaut tripette. Vous pouvez certainement vous trouver un vieux cd de beos. il était bien, mais le temps a passé depuis. un peu comme le processeur powerpc G5 d'ibm (!). ha!
avatar oomu | 
Pourquoi c'est très important javascript et html5 ? parce qu'on peut enfin faire ce genre de logiciels ssans se prendre la tête avec les sal..etés de flash/plugin java/silerlight/bêtise/ et sans payer une fortune en logiciel propriétaire qui pond des binaires bizarres. exemple : http://280atlas.com
avatar oomu | 
microsoft n'avait simplement aucune raison commerciale de financer des ingénieurs pour améliorer ie. Microsoft n'est pas concerné par amélioré la plateforme "web" (html, javascript, etc) - quand les normes du w3C sont devenues un argument de vente grâce à mozilla, apple et google (non pas à cause de Chrome, mais à cause de gmail, google engine, etc), microsoft s'est retrouvé en situation d'obsolescence annoncée Microsoft a besoin de ie, pas pour vendre windows, vu qu'il se vend tout seul, mais il a besoin de IE pour vendre des nORMES. IE sert aussi à ramener les gens vers windows. explication : l'application super cool sera en silverlight Silverlight sera super que sur IE ( oubliez le portage linux totalement à la masse, et la version incomplète mac) IE n'existe que sur windows -> on reste sur windows qui dit silverlight dit wmv et direct X -> xbox , etc. la boucle est bouclée. Contrairement à apple qui avait besoin d'un TRES BON navigateur web pour rendre le mac viable (et donc VENDRE DU MATERIEL), Microsoft s'en fichait grave. à la base, ie ne sert pas à rendre windows + séduisant, vu que windows se vend tout seul et pour microsoft le WEB est un concurrent à windows. (l'idée qu'on puisse faire des logiciels utiles indépendants de windows est un cauchemar) donc, une fois que microsoft avait tué Netscape, ils ont laissé ie péricliter. un windows+ie suffisait à imposer wmv. Idéalement, IE et Office devait aussi répandre le format "metro", pour tuer adobe, et silverlight pour tuer flash. le succés (inattendu) de Mozilla, et l'effort énorme d'apple pour pousser les formats du w3c ont brisé l'espoir de microsoft de verrouiller le web à windows. BREF : - IE était censé servir qu'à tuer netscape et le web - y a pas de sous à se faire sur le navigateur, une fois windows reprotégé, pas de raisons d'investir. cela s'est vu - microsoft réagit en retard, ie 8 essaie de rattraper leur retard sur CSS 2.1 (!) alors que la concurrence construit le futur !
avatar hogs | 
> oomu: Si la volonté de verrouillage force des contraintes techniques qui vont à l'encontre de l'efficacité, ce n'est pas être désagreable envers MS, c'est juste factuel. On peut en parler sans troller ;) Je dirais que je cherche plus le côté médecin qui explique le mécanisme de la destruction du foi par l'ingérance d'alcool que du médecin qui dit que la piquette est dangereuse etc... (la difference entre l'explication et le trollage possible)
avatar arsinoe | 
[quote=oomu]il est impossible de vous répondre sans être désagréable envers microsoft. il n'y a pas de raisons techniques, juste des raisons de verrouillage du marché. Si je vous expliquais en détail, vous m'accuserez, moi et les juges qui ont condammné microsoft, de troll. donc je ne peux pas vous répondre. désolé.[/quote] Ce genre de sous-entendu, c'est largement pire que d'expliquer clairement les affreux secrets dont tu sembles être le détenteur. Si tu insinues qu'il n'y a pas de concurrences qui pousse IE a évoluer, je crois que les parts de marché de Firefox, Chrome, Opera et Safari sous Windows sont un démenti des plus formels. Là tu en dis trop ou pas assez. Le coup des forces de l'ombre qui t'empèche de t'exprimer et qui empêche la justice d'être rendue, ça mérite une argumentation.
avatar pierrot99 (non vérifié) | 
@ l'hérétique Sauf erreur de ma part, il y a déjà un bout de temps que iCab n'est plus iCab mais tout simplement basé sur webkit. Quand iCab était vraiment iCab, c'est à dire un vrai développement séparé, c'était clairement un des plus réactif, maintenant à quelques microsecondes près, c'est idem Safari.
avatar hogs | 
> oomu: Merci pour tes explications (postées pendant que j'écrivais mon précédent commentaire), on effet, cela semble effectivement une direction plus que plausible.
avatar arsinoe | 
[quote=oomu]l'application super cool sera en silverlight Silverlight sera super que sur IE ( oubliez le portage linux totalement à la masse, et la version incomplète mac)[/quote] Mais c'est totalement faux. La version 2.0 linux et MacOS vient de sortir et elle est tout aussi performante que celle windows. Adobe Flash qui a tout intérêt a fonctionner sur le plus de plate-forme possible ne parvient pas à offrir des performances égales. Tu crois vraiment que si le but de Silverlight était de ramener le plus de monde sous IE/Windows, il serait aussi plus à jour et avec des performances largement plus homogènes que Flash ? [quote=oomu] IE n'existe que sur windows -> on reste sur windows[/quote] Totalement invalidé précedemment. [quote=oomu] qui dit silverlight dit wmv et direct X -> xbox , etc. [/quote] Silverlight peut lire toute sorte de format et utiliser toute sorte d'API et de librairies. Il y a des lecteurs H264, des utilisations d'OpenGL.. SilverLight/MoonLight est sous licence GNU LGPL, ce n'est pas du tout la boite noire fermée MS only que tu décris. [quote=oomu] la boucle est bouclée.[/quote] Tu parles de ta camisole là ?
avatar pierrot99 (non vérifié) | 
@oomu +1 Un autre exemple de cette stratégie Microsoft, c'est le portail Sharepoint (l'usine à gaz Sharepoint je devrais dire) qui est présentée comme compatible Firefox et Safari ... Il existe un document agé et caché qui précise que les utilisateurs de Firefox et Safari devront faire quelques sacrifices, mais à l'usage on se rend compte que c'est limite inutilisable (dernière de mes découvertes en date: quand on envoie un mail à plusieurs contact listés dans le portail, les adresses email qui apparaissent dans le champ "A" de Mail ou Thunderbird sont dans un standard non conforme, mauvais séparateurs, etc, par contre Ok sur Outlook, résultat l'utilisateur lambda en finit par revenir sur OUtlook, ... dans le giron de Crosoft ) Microsoft fait tout pour conserver le client, même au prix du mensonge, leur intérêt n'est pas d'améliorer les choses, leur intérêt est que vous restiez chez eux ... Alors que effectivement, le seul intérêt de Mozilla et Apple est au contraire d'améliorer les choses pour que vous veniez chez eux ... Maintenant, qu'on ne me fasse pas dire ce que je n'ai pas dit: je suis à peu près sur que pour ma part que si Apple était dans la situation du monopole, il aurait peut-être la même attitude ... il semble malheureusement que seule la concurrence permanente maintienne la pression sur les boites pour améliorer, sinon on engraisse les actionnaires et c'est tout.
avatar daito | 
Euhh ce n'est pas ce que dit ce test également réalisé sur XP : http://crave.cnet.co.uk/software/0,39029471,49301219,00.htm
avatar françois bayrou | 
"parce qu'on peut enfin faire ce genre de logiciels ssans se prendre la tête avec les sal..etés de flash/plugin java/silerlight/bêtise/ et sans payer une fortune en logiciel propriétaire qui pond des binaires bizarres." Rendons leur grâce au moins pour forcer les normes à évoluer. Les normes n'ont jamais fait avancer les choses; elles permettent juste de normaliser ce qui existe déjà. Si flash ou js ou java truc n'avaient pas existé, les normes n'auraient jamais évolué. Comme tu le dis toi même, "on peut _ENFIN_ faire ce genre de choses ..." Et si prise de tête il y avait avant, j'aimerais savoir si La Norme sera moins prise de tête ... :) En fait vu la vitesse effrenée à laquelle la liste de démos sproutcore s'allonge, quelque chose me dit que ... enfin bref tu m'as compris. Ceci dit ca ne m'empêchera pas de me mettre à l'objective-j dès que possible ( 10 choses à la fois, pas plus )
avatar Un Vrai Type | 
La vraie raison pour IE, c'est le fonctionnement du développement chez Microsoft (du moins pour IE). En effet, comment Safari est né ? Un projet opensource, un génie des transformation XML et application des CSS et une vision élargie du modèle DOM (en objet). Pour Firefox, il s'agit d'une équipe ouverte et captive sur les différentes évolutions. Chez Microsoft, ayant parlé avec un développer qui a participé à IE6, tout es basé sur le management. Les managers décident des technologies, des priorités etc... sans aucune vision du marché, des nouveautés etc (ou bien une petite vision au moment où la concurrence sort de nouveaux produits). Si jusqu'à quelques années Microsoft pouvait rivaliser en réactivité contre Netscape/firefox, aujourd'hui la concurrence a développé des outils capable de changer de librairies pour le rendu HTML (voir OmniWeb) ou encore pour javascript en quelques semaines (jours ?). Ça va très vite... Bien trop vite pour que les managers d'IE puissent demander aux développeurs de faire la même chose que la concurrence. D'après cette même personne, quasiment tout le code est "lié" à une version d'Internet Explorer. Changer le moteur javascript, c'est modifier des tas de lignes, avoir des tas de bugs... Cette personne a travaillé par exemple sur le rendu xhtml valide (un second moteur d'interprétation dans IE6 qui dépend de la présence d'une ligne en haut des pages webs... vous pouvez tester une page avec et sans cette ligne, les différences sont impressionnantes). Il ne faut pas oublier que IE6 était un navigateur "rapide", enfin pas plus lent... Mais de nouvelles technologies ont rendu IE6 obsolète, IE7 (et IE8) n'ont pas été développé pour combler ces lacunes... Au final il est très probable que IE9 redevienne rapide, mais d'ici là, d'autres technologies seront a intégrer (HTML5/sqlite notamment).
avatar Anonyme (non vérifié) | 
Arrêtez de palabrer sur IE et Microsoft, ça devient vraiment fatiguant, chacun étale sa science, c'est bon........ rideau maintenant. C'est le plus mauvais navigateur par le plus grand éditeur de logiciel; point barre. Intéressons-nous aux meilleurs de la classe, là, il y a de la concurrence et du grain à moudre. Et dans notre environnement MAC se trouvent les meuilleurs. IE ne se développe plus sur MAC que je sache, alors, basta.
avatar Anonyme (non vérifié) | 
Après avoir été à Paris Web 2008 et assisté à la conférence de Chris Wilson (Platform Architect IE et et co-président du HTML Working Group au W3C) sur IE 8, je peux vous dire qu'il travail plus sur la compatibilité HTML/CSS. Surtout sur la specification CSS 2.1. Lors de Paris Web, une question a été posée à M. Wilson sur le support de HTML 5 et CSS 3. Je peux vous dire qu'il semblait pas très optimiste sur son support même partiel dans IE 8. Et oui, encore des parts de marchés qui vont s'envoler pour IE !! Alors si déjà Microsoft se fout de HTML 5 et CSS 3, j'imagine pas pour le JavaScript. Je pense la meme chose que @arsinoe au sujet de Silverlight. Et puis ce n'est pas le genre de Microsoft à refondre des moteurs. Pour exemple, sa fait plus de 10 ans que leurs OS tourne sur un noyau NT4 !! En plus l'équipe qui s'occupe du developpement d'IE n'est pas du tout en relation avec celle d'IE pour les mobiles. Ce qui pourrait conduire à des comportements très différents entre les versions!! Vraiment je ne comprends pas Microsoft. Il se fiche totalement de l'utilisateur final qui serra encore une fois bridé dans son utilisation.
avatar biniou | 
Je ne suis pas d'accord avec Oomu pour Java. Java a l'avantage d'avoir du code compilé. Tu ne parles ici (je pense) que des Applets. Les servlets java permettent de faire plein de choses que ne permettent pas javascript et html5 comme par exemple l'utilisation des données d'une carte eID ou smartcard. Java est loin d'être une saloperie. Même si je préfère le C/C++ par habitude. Java permet de déployer facilement et rapidement des applications complexes localement ou par un réseau. Il existe une multitude de librairies pour Java permettant de faire à peu prêt tout et n'importe quoi. Je suis convaincu qu'une partie des logiciels que vous employez tous les jours utilisent Java et ce n'est pas pour autant que vous rechignez à chaque lancement de l'application. Les grandes pensées comme oui mais c'est lent, ... ne sont plus d'actualités au vue de la puissance des machines actuelles. Certains ont même risqué (sacrilège pour les CGeek) à dire qu'il n'y avait pas de différences de vitesse d'exécution entre une apli java et une apli programmée en c ou très peu. Si Java était une m...., je ne pense pas qu'Apple perdrait son temps à JCocoa ou encore à permettre l'utilisation de Java pour le mDNSResponder (Bonjour). Java est une pure merveille technologique. C'est le seul langage OO compilé qui est réellement multi-plate-forme sans devoir passer par des macros et des implémentations spécifiques! Je voulais aussi dire beaucoup d'acteurs de la recherche académique et/ou industrielle utilisent des langages comme Java, Python ou encore Ruby pour du concept proof, de la simulation, ... Ces langages présentent l'avantage d'être facile à utiliser et à déployer. Par exemple, en physique nucléaire, on emploie Python, en signaux et systèmes, on emploie Java, ... De plus Java (comme jsp) est une technologie complémentaire à l'HTML5 et le javascript et non un remplacement de ces technologies qui servent surtout à de l'affichage sur écran.

CONNEXION UTILISATEUR