Diviser par deux le démarrage de Firefox sous Windows ? Facile

Vraiment ? 178
Vincent Hermann
La guerre des navigateurs vit une époque intéressante, avec le déplacement de la bataille sur deux champs en particulier : les performances et la prise en charge des technologies du web. Au niveau des performances, même si le JavaScript accapare souvent le feu des projecteurs, d’autres domaines sont aussi importants, comme le temps globalement requis pour charger une page complète, ou le temps de démarrage. Et sur ce dernier point, il se pourrait que Firefox fasse un bond sympathique.

firefox 4 beta pdn

Si l’on se limite aux cinq plus gros navigateurs, à savoir Internet Explorer, Firefox, Chrome, Safari et Opera, le leader du lancement le plus rapide est sans aucun doute Chrome, qui parvient même à se lancer plus rapidement qu’Internet Explorer, pourtant intégré à Windows. Au bas de l’échelle, Firefox a toujours eu un problème avec le premier démarrage, aussi appelé « démarrage à froid », et la succession des versions n’a jamais réellement corrigé le problème.

Ce dernier concerne tous les systèmes d’exploitation, et la source réside en partie dans l’utilisation du XUL, un langage de description d’interface graphique basé sur XML et créé par Mozilla. Certains composants doivent obligatoirement être chargés pour que le code XUL puisse être parcouru (parsé) et interprété. C’est le chargement de ses composants et la lecture du code XUL qui réclame un certain temps. Or, un développeur vient de créer un petit patch capable visiblement de raccourcir la durée de l’opération.

20 lignes de code : c’est ce qu’il a fallu à Taras Glek pour tester son idée, qui ne s’adresse qu’à Windows. Le but ? Faire croire à ce dernier que le code XUL peut être lu par tranche de 2 Mo plutôt que par petits morceaux de 32 Ko. Le résultat, selon l’auteur du patch, est un temps de démarrage à froid réduit de 40 %, puisque la lecture du code se fait de manière séquentielle sur une grande partie, cassant la nécessité d’effectuer des opérations de recherches sur des tronçons de 32 Ko.

Sur le ticket ouvert pour le sujet sur Bugzilla, de nombreux autres développeurs et utilisateurs indiquent constater ces gains, pouvant grimper jusqu’à 50 %, autrement dit un temps de démarrage divisé par deux. La différence serait d’ailleurs encore plus sensible sur les anciens disques durs. Le vice-président de l'ingénierie chez Mozilla Mike Shaver, participe à la conversation, indiquant que l’éditeur est probablement intéressé par ce patch.

Il est trop tôt pour dire actuellement si cette modification sera reprise officiellement. Après tout, une dixième version bêta est attendue pour Firefox 4 : on ne sait jamais.