Developpez.com

Le Club des Développeurs et IT Pro

Firefox : Mozilla étudie de près les lignes de code « miracles »

Qui diminuent le temps de démarrage et explique les limites de ce patch

Le 2011-02-21 11:19:06, par Gordon Fowler, Expert éminent sénior
Un des reproches les plus importants fait à Firefox, notamment face à Chrome, est sa lenteur au démarrage. Un point sur lequel la fondation Mozilla travaille très sérieusement et que les betas succesives de Firefox 4 ont amélioré.

Pas assez, cependant, au goût de certains, d'autant plus que le mois dernier, Tara Glek, un des employés de Mozilla, a publié à titre personnel une vingtaine de lignes de code censées pouvoir diviser par deux ce temps de démarrage.

Un « hack » qui pourrait bien devenir une partie du code officiel de Firefox. « C'est possible de l'avoir dans Firefox 4, mais ce n'est pas 100% certain », explique à Développez Paul Rouget, techno-évangéliste et développeur chez Mozilla Europe, qui précise tout de suite que la sortie de Firefox 4 ne sera de toute façon pas impactée par cette décision d'intégrer le fix ou pas.

Dans tous les cas, ces 20 lignes ne seront qu'un des axes explorés pour résoudre ce problème de lenteur. Mozilla travaille également sur « Prefetch Vista (chargement de moins de code au démarrage), omnijar & fat xul (regrouper un maximum de fichier en un seul), une énumération des fonts et des plugins plus rapide... et plein d'autres trucs compliqués », précise Paul Rouget.

Présenté comme très simple (voire miraculeux) ce hack pose en fait plusieurs problèmes majeurs. Le premier est qu'il s'agit d'un patch sérieux, mais limité. « C'est un correctif (Chrome fait la même chose) », constate Paul Rouget « Mais c'est aussi une bidouille car on contourne un comportement non souhaité de l'OS. »

Autres limites, « ça ne marche que pour Windows et que pour le cold start-up (la première fois que Firefox est lancé) ; il n'a pas d'impact sur les démarrages suivants. »

La limitation à Windows va cependant être rapidement levée : « Nous avons une version en cours pour Linux... et cette fois c'est juste une ligne. »

Enfin, si ce patch rend le démarrage plus rapide, ce n'est d'après Mozilla que dans certains cas. « Il le ralentit d'en d'autres cas, donc il faut qu'on s'assure de ne pas pénaliser des utilisateurs. »

Paul Rouget explicite ce point très important pour la décision finale « C'est un peu compliqué, mais en gros, il y a une grosse amélioration du démarrage si on utilise un bon disque dur et de bons drivers (en terme de vitesse). Si la lecture est inférieure à moins de 20Mo/s, alors on a une régression. Il est vrai qu'en général, un disque dur moderne tourne à plus de 50Mo/s ». Autre point délicat, « nous mettons aussi en cause de mauvaises interactions avec Windows Prefetch MAIS, c'est à prendre avec des pincettes parce qu'on est toujours en train de faire de mesures et d'expérimenter. »

Une chose est sûre, cependant, Mozilla ne rejette pas ce code. « On a tendance à grappiller des pourcentages qui à force de s'accumuler font une vraie différence. Ici, on a un fix qui peut améliorer très visiblement le start-up », constate Paul Rouget.

Une décision qui sera prise après avoir pris en compte tous les éléments et toutes les limites.

Autrement dit, si les 20 lignes de code sont très simples, leur intégration dans Firefox 4, elle, est une tout autre affaire.

Source : Interview de Paul Rouget et le patch d’une seule ligne pour Linux
  Discussion forum
15 commentaires
  • Lordsephiroth
    Membre confirmé
    Personnellement j'ai vécu l'inverse. J'ai testé Chrome, et je suis revenu à Firefox, non pas pour sa rapidité d'ouverture de la fenêtre (car là on est d'accord, Chrome est plus rapide), mais pour sa rapidité pour charger de nombreux onglets rapidement.

    Je trouve que l'intérêt d'avoir 50 onglets blancs instantanément sous Chrome est plutôt limité. Autant avoir une fenêtre après 15 secondes, mais d'avoir les onglets rapidement chargés.

    Chrome bat Firefox à plate couture en ce qui concerne l'ouverture de la fenêtre.
    Firefox bat souvent Chrome (pas très largement mais tout de même) en ce qui concerne le temps avant de pouvoir surfer, principalement à grand nombre d'onglets ouverts.
  • Uther
    Expert éminent sénior
    Oui mais on est prévenus quand on teste une version beta qu'il y a risque de crash, c'est pas pour rien que c'est une version beta...
  • jmnicolas
    Membre éprouvé
    Franchement la vitesse de démarrage du navigateur n'est pas un critère pour moi : je le lance une fois par jour en moyenne, alors 3 µsecondes de plus ou de moins ...

    Et puis je déteste l'ergonomie de Chrome ...
  • Aiekick
    Membre extrêmement actif
    et sinon c'est quoi le petit bout de code, qui est en fait un fonctionnement non souhaité de l'os ?
  • Bart-Rennes
    Membre habitué
    Je trouve que Mozilla se retrouve dans la situation de Microsoft d'il y a quelques années, qu'ils critiquaient très très fortement... Une usine à gaz pas réactif qui se mord la queue ...
  • Uther
    Expert éminent sénior
    Envoyé par cuicui78
    et sinon c'est quoi le petit bout de code, qui est en fait un fonctionnement non souhaité de l'os ?
    Il permet de charger les DLL par blocs de 2Mo au lieu de 32Ko.
  • ratomms
    Membre actif
    Dans le bêta de Firefox, ce n'est pas la lenteur au démarrage qui me perturbe mais c'est abondance de crash. Je ne sais pas mais ça arrive souvent dans mon PC. J'espère une bonne amélioration dans la version finale
  • sami_c
    Membre averti
    J'ai failli quitter ff pour chrome, ce qui me retenait était juste la récupération des bookmark et les login/mdp, j'ai voulu migrer vers chrome car je trouvais que ff bouffait énormément de mémoire, il peut atteindre 400mo avec 4 onglets !! Bref en navigant dans les options de chrome j'ai trouvé un écran détaillant l'utilisation totale de la mémoire respective pour chrome et ff : avec le même nbr d'onglet, ff bouffe moins que chrome !!!
  • iguypouf
    Membre à l'essai
    Juste une toute petite remarque, y a quand même des fautes d'orthographe qui font mal aux yeux... Et qui contrastent sincèrement avec le professionalisme des articles

    "Il le ralentie d'en d'autres cas"

    Siouplait, juste un petit effort
  • kaiser59
    Membre expérimenté
    Pareil, ça devient lourd d'attendre une éternité juste pour démarrer firefox s'il n'arrive pas à résoudre ce problème et celui de la gestion de la mémoire qui consomme beaucoup. Je pense que je vais allez voir ailleurs ^^