Journal Firefox: Encore plus vite que vite

Posté par .
Tags : aucun
13
26
août
2008
Firefox 3.1 est annoncé avec une amélioration des performances Javascript autour de 3 à 5 selon les benchs grâce à un compilateur JIT par rapport à Firefox 3.0.

C'était déjà un point fort de la version 3.0 mais cela sera encore renforcé.

http://standblog.org/blog/post/2008/08/25/Every-day-is-an-op(...) (au milieu)

Certain s'amuse même avec du traitement d'image...
http://blog.mozilla.com/schrep/2008/08/22/what-can-you-do-wh(...)
  • # Les choux et les carottes

    Posté par . Évalué à 7.

    > des performances Javascript autour de 3 à 5

    autour de 3 à 5 quoi ? Carottes, Choux, Gnou, Lemmings, vieilles dames ?
    • [^] # Re: Les choux et les carottes

      Posté par . Évalué à 4.

      il s'agit d'un rapport : pour trois avant, cinq après. donc un gain de perf de 66%.
      Ou plus le gain irait de 83% à 2 100% (?!) selon http://weblogs.mozillazine.org/roadmap/archives/2008/08/trac(...) (en anglais, désolé)
      • [^] # Re: Les poires et les abris côtiers

        Posté par . Évalué à 10.

        On notera que les graphiques indiquent qu'une boucle qui ne fait rien sera exécutée environ 20 fois plus rapidement qu'avec la version actuelle de Firefox ! Autrement dit, Firefox sera 20 fois plus rapide à ne rien faire !

        « Je vous présente les moines Shaolin : ils recherchent la Tranquillité de l'Esprit et la Paix de l'Âme à travers le Meurtre à Main Nue »

    • [^] # Re: Les choux et les carottes

      Posté par . Évalué à 5.

      un rapport n'a pas d'unité...

      "La première sécurité est la liberté"

      • [^] # Re: Les choux et les carottes

        Posté par . Évalué à 4.

        Encore faut-il préciser qu'il s'agit d'un rapport.

        « une amélioration des performances Javascript d'un facteur autour de 3 à 5 »
        • [^] # Re: Les choux et les carottes

          Posté par . Évalué à 1.

          Un « facteur », c'est quoi si ça n'est pas un rapport ?
          • [^] # Re: Les choux et les carottes

            Posté par . Évalué à 9.

            Un type qui distribue le courrier ? Ce qui ne l’empêche pas d’avoir des rapports…

            Ou celui qui fait des pianos, mais, là, je vois pas le rapport…
          • [^] # Re: Les choux et les carottes

            Posté par . Évalué à 1.

            Un facteur peut avoir une unité car c’est simplement le terme d’une multiplication. Un rapport, par contre, je vois plus ça comme un facteur sans unité. Ceci dit, la phrase du journal est exacte AMHA.
          • [^] # Re: Les choux et les carottes

            Posté par . Évalué à 2.

            Je disais juste que l'auteur du journal a parlé d'un rapport sans préciser que c'en était un, et que donc il manque bien une information sur ce que sont ces nombres.
      • [^] # Re: Les choux et les carottes

        Posté par . Évalué à 0.

        Ca dépend du type de rapport :-)
      • [^] # Re: Les choux et les carottes

        Posté par (page perso) . Évalué à 3.

        C'est nouveau ça.

        Pourtant le rapport de la distance au temps donne une vitesse (m/s), le rapport de la quantité de matière à un volume une concentration molaire (mol/m³), etc.

        Tu voulais dire un rapport de deux mesures de même dimension n'a pas d'unité ?

        Sans compter qu'il arrive que des unités désignent des grandeurs sans dimension : un angle, une température exprimée en °C (et pas en K, ça change tout le Kelvin). La radioactivité aussi me semble-t-il est exprimée dans une unité sans dimension (nombre d'impacts par seconde)...

        De toute façon, les choux et les carottes ne son ni une unité ni une composée de dimensions physique !
        • [^] # Re: Les choux et les carottes

          Posté par . Évalué à 4.


          "Tu voulais dire un rapport de deux mesures de même dimension n'a pas d'unité ?"


          C'est ce que veux dire rapport quand il n'est pas question d'une simple division.

          Un angle est un rapport, c'est un fraction d'un cercle (exprimer en radian on comprend mieux). La température a une unité K ( http://fr.wikipedia.org/wiki/Kelvin ), le C° n'est qu'une unité ancienne...

          la radioactivité aussi me semble-t-il est exprimée dans une unité sans dimension (nombre d'impacts par seconde)...

          "Nombre de" est en effet sans dimension. Par contre, si tu écris "par seconde", c'est une unité de temps...

          C'est bien de pratiquer la capiloquadrisectomie du vocabulaire, voir d'être sodomite avec les mouches, faut-il encore éviter de raconter n'importe quoi pour appuyer ses dires.

          "La première sécurité est la liberté"

  • # en attendant ...

    Posté par (page perso) . Évalué à 3.

    Et c'est consternant ...

    Le firefox3 tourne plus vite dans une virtualbox XP, que le firefox3 natif de ma distribution ;-( ....

    En espérant que cette nouvelle boost surtout les perfs de xul/xpcom
    • [^] # Re: en attendant ...

      Posté par . Évalué à 1.

      Et tu es sous qu'elle distribution ?
    • [^] # Re: en attendant ...

      Posté par (page perso) . Évalué à 5.

      Tout ce qui est en javascript dans Firefox (donc l'interface et quelques composants XPCom), sera bien entendu plus rapide. Tout dépend en fait ce que ça fait exactement, puisque les optimisations en questions sont des optimisations à la volée du code avant son execution proprement dit (en très gros, parce que j'avoue ne pas avoir tout compris, les améliorations en questions sont issues de recherches assez poussées de grosses têtes en université, et que parait-il, ce genre d'optimisation est l'avenir dans les interpréteurs de langage, les compilateurs en bytecode et cie...)
      • [^] # Re: en attendant ...

        Posté par . Évalué à 4.

        en très gros, parce que j'avoue ne pas avoir tout compris, les améliorations en questions sont issues de recherches assez poussées de grosses têtes en université, et que parait-il, ce genre d'optimisation est l'avenir dans les interpréteurs de langage, les compilateurs en bytecode et cie...

        Pour simplifier comment ca marche:
        Il faut imaginer comment l'interpreteur fonctionne: une boucle sur le flux de bytecode et a l'interieur un gros switch pour chacune des valeurs possibles.

        Pour chaque "case", le code effectue un certain nombre de tests: C'est quoi le type de la variable en entree? est-ce que la valeur est bien definie... ensuite il effectue le traitement approprie puis stocke le resultat en respectant une certaine convention comme ca le code qui est associe au prochain bytecode trouve tout comme il veut, quel qu'il soit. Mine de rien, une simple addition, ca prend du temps avec toute les verifications qui vont avec.

        Ici l'idee est de dire: Au lieu d'avoir un case pour chaque bytecode, on pourrait rajouter des cas qui traite 2 bytecode successifs. La combinaison des deux codes permet au compilateur de supprimer des tests redondants, eviter une sequence stockage puis rechargement...

        C'est pas nouveau et on trouve dans quelques interpreteurs ce genre de regroupement. Les sequences choisies sont celles qui sont communes a la majorite des applications. En fait, on parle de trace.

        En fait, il m'est arrive il y a environ 2 ans de le faire manuellement pour certains code scientifiques (les sequences etant specifiques, peut reutilisables) dans python.

        L'idee developee ici est de dire: chaque application a ses propres traces characteristiques. Par exemple une boucle: le corps de la boucle ou une partie peut contenir une sequence de bytecode tres frequement executee. C'est ce que fait l'optimiseur:
        - construction des traces;
        - dermination des traces les plus frequement utilisee;
        - emition et optimisation "JIT" du code interpreteur correspondant a l'execution sequentielle de chacun des "sous-codes" de l'interpreteur.

        Donc oui, le concept applique ici n'est pas specifique a javascript, car l'optimiseur s'applique a n'importe quel bytecode. Mais les resultats en terme d'amelioration de performance dependent des optimisations trouvees par le compilateur. Ca depent du code source lui-meme et du compilo.
        • [^] # Re: en attendant ...

          Posté par . Évalué à 2.

          Est-ce que cela veut dire qu'un JIT fabrique réellement des binaires ?

          En gros, si un "+" se retrouve dans une boucle central, elle sera transformé en "ADD" assembleur ? En gros, est-ce qu'il y a des techniques semblable à ce que fait QEMU ? (traduction d'instruction vers de l'assembleur puis mise cache des bouts traduits)

          "La première sécurité est la liberté"

          • [^] # Re: en attendant ...

            Posté par . Évalué à 1.

            Non.

            Le ADD binaire ne s'applique que pour des entiers ou des flottants. Dans le cas de pas mal de language interpretes, surtout ceux avec un typage dynamique comme javascript, ce n'est pas parce que tu as:
            i = appel_fonction (j)
            k = i+1
            et que jusque la tu as toujours eu i etant un entier, que tu n'auras pas a un moment appel_fonction (...) retournant une classe string, auquel cas i+1 est completement different. A moins que tu ne prouves que appel_fonction (...) retourne toujours un entier. On peut bien sur montrer un exemple avec un cas evident. Les cas reels sont quand a eux bien moins evident. Pour un programme javascript entier, ca peut prendre plusieurs secondes. Alors en temps reel...
            • [^] # Re: en attendant ...

              Posté par . Évalué à 2.

              Donc en gros, cela pourrait être un ADD mais avec un test de typage avant ?

              "La première sécurité est la liberté"

    • [^] # Re: en attendant ...

      Posté par (page perso) . Évalué à 3.

      ah oui, au fait, pour ta plainte sur la lenteur de ff sous linux, va te plaindre aux équipes de Xorg et/ou du binding X de Cairo, et/ou peut être aussi de Gtk, puisque ce sont les seules différences avec la version windows.

      Et pour couper court aux trolls, et que ça fait pas de mal de le repeter : non, Mozilla ne s'en fout pas de la plateforme linux (avec la version mobile de FF, ce serait trop con :-)). Les développeurs de Mozilla qui sont sous windows sont très peu nombreux, j'ai pu le constater au Mozilla Summit il y a quelques semaines (une majorité sont sur Mac cependant, en multiboot souvent pour pouvoir tester sur les autres plateformes, et pas mal sont sous linux).
      • [^] # Re: en attendant ...

        Posté par (page perso) . Évalué à 5.

        Je ne crois pas que ce soit Xorg. Les autres pistes sont déjà plus plausibles.

        En tout cas, avec mes tests de X déporté sur une connexion pas super rapide (ADSL, 384kbps) avec un ping de l'ordre de 13ms, Firefox était absolument inutilisable, alors que Konqueror passait.

        Là où Konqueror s'affichait et était prêt à recevoir l'URL en environ 15 secondes, Firefox avait mis plus de... 10 minutes pour afficher sa fenêtre.

        Alors est-ce que c'est dû à Cairo, Gtk+ ou autre, je ne sais pas, mais je pense qu'il y a très clairement un problème avec leurs bindings X.
        • [^] # Re: en attendant ...

          Posté par . Évalué à 2.

          Étrange, dans la catégorie, chezmoiçamarche, j'ai aucun soucis alors que j'utilise parfois un connexion RNIS. Les problèmes de forte consommation de CPU lors du chargement d'une page ont d'ailleurs pour ma part été résolue avec la version 3.
          • [^] # Re: en attendant ...

            Posté par . Évalué à 3.

            Je pense qu'il parlait d'utiliser Firefox à travers un X exporté par une connexion ADSL, ce qui est autrement différent. Et effectivement, ça expose beaucoup plus les lenteurs d'affichage de X11/GTK, et son test semble confirmer que le "bottleneck" est de ce coté là.
        • [^] # Re: en attendant ...

          Posté par . Évalué à 2.

          j'ai resolu ce petit desagrement en passant a 8 bit le nombre de couleur affiché par X. c'est tres moche mais trés rapide. c'est dommage d'ailleurs que rien n'est prevu pour passé en 1 bit, comme avec macintosh en 1992.
      • [^] # Re: en attendant ...

        Posté par (page perso) . Évalué à 1.

        Je teste pas mal Midori ces derniers temps (qui est un navgateur GTK2 avec webkit).
        Certes, il ne fait pas tout ce que fait un firefox. Mais il est très réactif. L'interface est très très réactive. A côté de firefox, c'es vraiment le jour et la nuit. (J'attends avec impatience l'epiphany avec webkit ...)

        Sinon, il est vrai que je n'ai pas non plus un foudre de guerre (qu'un P4 non HT, à 2.6ghz, et 1go de vielle ram). Je suppute que les gens qui developpent firefox sous linux doivent avoir au moins, des dual core.
    • [^] # Re: en attendant ...

      Posté par (page perso) . Évalué à 2.

      Sous wine, il va a peu près aussi vite avec tracemonkey qu'en natif sans.

      Vivement que le bug qui empêche de compiler en 64 soit règlé, que je puisse tester !
  • # better, harder, stronger

    Posté par (page perso) . Évalué à 4.

    Perso, je constate une augmentation de la présence de FF sur certains de mes sites grand public : 40% de FF pour 98% de windows, ca me semble parlant comme nombre surtout sur un total de plus de 100 000 pages-vues mois d'apres GG Analytics.

    FF3 apportait déjà quelques améliorations sympa. Avec cette derniere, ca devient plutôt cool :)

    Je ne sais pas où ils en sont avec l'intégration de Tamarin ( ils annoncent encore sont integration dans Mozilla 2 pour le courant 2008 : http://www.mozilla.org/projects/tamarin/ ). Tamarin semble tjr etre un projet non intégré dans SeaMonkey ou dans FF.

    Il ne manquerait plus qu'une bonne gestion de la mémoire et d'autres petits trucs sympas pour en faire un excellent outil ( ce qu'apporte en parti Tamarin ).

    Toujours est il qu'il semblerait qu'il faille s'attendre encore à d'autres amélioration ...

    Que du bon pour la 3.1 et du meilleur pour la suite.
    • [^] # Re: better, harder, stronger

      Posté par (page perso) . Évalué à 8.

      Ici, sur le serveur étudiant de mon école (ingénieur généraliste) on a :
      environ 1 000 000 de pages vues par mois (d'après awstats sur les logs apache) sauf pendant l'été où on tombe à 500 000.

      Pour le mois d'août, on a :
      49.3% de Firefox
      33.2% d'IE

      Et on a :
      Windows 79.4 %
      Inconnu 11.4 %
      Linux 7.7 %
      Macintosh 1.3 %

      Ce qui est intéressant c'est de constater que au cours de l'année, Firefox n'a cessé de grignoter des parts à IE. Maintenant IE 6 est tombé à 10% d'utilisation.


      Ouais, j'espère qu'ils vont continuer à améliorer les perfs de Firefox. On voit de moins en moins de sites compatibles IE only.
    • [^] # Re: better, harder, stronger

      Posté par . Évalué à -2.

      Perso, je constate une augmentation de la présence de FF sur certains de mes sites grand public : 40% de FF pour 98% de windows, ca me semble parlant comme nombre surtout sur un total de plus de 100 000 pages-vues mois d'apres GG Analytics.
      je comprends pas la partie 40%de FF pour 98% de windows (pourtant j'avais le coup du rapport indiqué dans la news ;p) si Tu pouvais m'éclairer...
      • [^] # Re: better, harder, stronger

        Posté par (page perso) . Évalué à 3.

        De ce que j'ai compris (j'ai eu du mal aussi ^_^)
        Y'a 98% de ses visiteurs qui sont sous Windows, et dans ces 98% (ou dans les 100% ?) y'en a 40% qui utilisent Firefox

        [Sur le mien, vous m'avez donné l'envie de regarder, sur l'année 2008 pas terminée j'ai 61.60% de Geckos 26.53% d'IE et 35.07% de Linux contre 37.40 de WinXP (et 0.55 de Win98 =) plus que du FreeBSD )
        • [^] # Re: better, harder, stronger

          Posté par (page perso) . Évalué à 3.

          sur les 98% de windows, 40% utilisent FF, 49% IE et les 11% restant tous les autres navigateurs dispo sous windows ( Opera, Safari & co ).

          Il y a encore 1 an sur ma population de windowsiens, FF était à 30% et IE 65%.

          Par contre, je ne note aucune progression de Linux.
    • [^] # Re: better, harder, stronger

      Posté par (page perso) . Évalué à 4.

      Coçernant Tamarin, c'est simple, les améliorations qui viennent d'être apportées, c'est un morceau de Tamarin cuisiné aux petits oignons avec des morceaux d'optimisations inédites dedans :-)
    • [^] # Re: better, harder, stronger

      Posté par . Évalué à 7.

      Perso, je constate une augmentation de la présence de FF sur certains de mes sites grand public : 40% de FF pour 98% de windows, ca me semble parlant comme nombre surtout sur un total de plus de 100 000 pages-vues mois d'apres GG Analytics.

      Sur mon site perso également, j'ai constaté une importante augmentation de FF, autour de 90%. Et dans le même temps, j'ai constaté que mon IP devient très populaire, puisque ces visites viennent presque toutes de la même IP que moi (à savoir 4 des 5 visites ce mois-ci).

      ------------------->[X] ouhlà! fait chaud dehors, vous allez me mettre la clim' tout de suite et me supporter encore un peu!
  • # Et linuxfr dans ces stats?

    Posté par . Évalué à 1.

    Bonjour,
    il serait interressant de connaître les stats évoquées pour linuxfr.org, n'est ce pas?

    j'ai jetté un oeil par là et nada: http://linuxfr.org/stats/frequentation.html

    Bye.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.