Firefox 7 : vers un navigateur 20 à 30 % plus économe en mémoire vive
Premiers résultats du projet MemShrink

Le , par Idelways, Expert éminent sénior
Mise à jour du 10 août 2011 par Idelways

Mozilla Firefox 7, prévue pour la fin septembre, devrait être significativement plus rapide grâce aux progrès accomplis par ses équipes de développement pour chasser les bogues et les fuites de mémoires qui alourdissent le navigateur.

Il s'agit d'après le développeur Nicholas Nethercote des premiers résultats de l'initiative « MemShrink » qui mène une politique de tolérance zéro envers ce type de bogues qui ne font que dégrader les performances du navigateur sur ses dernières versions majeures (pour plus de détails sur cette initiative, lire ci-devant)

D'après les estimations de Nethercote, Firefox 7 devrait consommer 20 à 30 %, voir 50 % moins de mémoire vive, par rapport aux versions 6, 5 et 4 du navigateur, « cela signifie que Firefox 7 sera plus rapide (et même parfois drastiquement) et moins enclin aux crashs, notamment quand plusieurs sites sont ouverts ou quand Firefox tourne longtemps avant d'être redémarré ».

Nethercote admet que le navigateur soit actuellement un « gouffre de mémoire », mais tient tout de même à rappeler les performances honorables des versions 3, 3.5 et 3.6 qui s'y prenaient d'après lui mieux en terme de gestion de la mémoire. Ou qui le faisait en tout cas moins mal.

Ainsi, revient-il sur la régression marquée par l'arrivée de Firefox 4 qu'il met sur le dos du nombre important de nouvelles fonctionnalités, qui n'ont pas été toutes au point en terme de gestion de la mémoire sur leur première itération.

L'autre raison de cette régression, fait savoir Nethercote, est « le tuning suragressif des méthodes heuristiques relatives au ramasse-miettes JavaScript et à l'encodage des images ».

Des tests internes évoqués par Nethercote montrent par ailleurs une libération plus fiable de la mémoire non utilisée après la fermeture des onglets, et quand le navigateur entre en sous-utilisation.

Firefox 7 est actuellement sur Aurora et passera au canal bêta, moins instable, le 16 août prochain.

Firefox 7 Aurora est disponible en téléchargement sur cette page

Source : Blogs de Mozilla

Et vous ?

Avez-vous essayé Firefox 7 Aurora ? Et constaté une amélioration dans la gestion mémoire ? De quel ordre ?

Mozilla s'attaque à la consommation mémoire excessive de Firefox
Et lance le projet "MemShrink"

MemShrink est la nouvelle initiative de la fondation Mozilla destinée à réduire l'empreinte mémoire de Firefox, véritable talon d'Achille du navigateur populaire.

La fondation se décide donc enfin à prendre au sérieux ce problème constaté et décrié par de nombreux utilisateurs.
Un problème compliqué sur les dernières versions majeures du navigateur au lieu d'être atténué de l'aveu même de Johnny Stenback, développeur finlandais de Mozilla, à l'origine de ce projet.

Cette fois, il ne s'agit pas de continuer de corriger les fuites de mémoire rapportées (memory leak), mais de revoir dans une approche « agressive » la gestion des fuites de mémoire dans son ensemble pour une utilisation plus économe.

« Ça devient de plus en plus clair les derniers mois que nous avons un besoin pressant de nous occuper de l'augmentation de l'utilisation de mémoire dans Firefox », déclare Stenback sur le mailing liste de Mozilla.

Dans le cadre de ce projet, l'équipe se réunira dans un premier temps hebdomadairement pour étudier les idées, faire le tri des bogues et assigner chacun à un développeur : « il est vachement clair maintenant que le problème est beaucoup trop sérieux pour qu'un développeur puisse le régler tout seul », reprend Stenback.

Sur le Wiki où est détaillée la feuille de route du projet, le but de MemShrink est clairement défini : « amener le nombre de fuites de chaque version de Firefox à zéro, et le garder à zéro ! »

Les utilisateurs de Firefox, notamment ceux qui ne disposent que peu de RAM, se plaignent régulièrement sur le support du navigateur et les différents forums d'entraide, de la tendance qu'a le navigateur à ne pas libérer suffisamment de mémoire vive après la fermeture des onglets.

En tout cas, le travail entrepris là par la fondation ne sera pas une mince affaire, puisqu'il ne dépend pas que de la consommation mémoire du code écrit par les développeurs de Mozilla : le JavaScript des sites part souvent dans des boucles récursives et d'autres types de cycles accaparant la mémoire vive et l'utilisation du CPU. Cette gestion devra être optimisée aussi.

La séparation plus ou moins nette des processus depuis la version 3.6 de Firefox n'a pas suffi jusque-là à éradiquer ce problème.

Le gain espéré par la fondation à ce sujet pourrait par ailleurs avoir un impact positif sur les performances du navigateur en réduisant le recours au cache et à la mémoire virtuelle paginée.

Le groupe MemShrink prévoit d'intégrer des structures de données plus économes et vise notamment à éradiquer les « vraies fuites » où les cases mémoire perdues ne peuvent plus être récupérées, et les cas où la mémoire occupée inutilement n'est récupérée qu'en cas de fermeture des pages, onglets ou processus.

Évidemment, les utilisateurs Firefox Mobile (alias Fennec) seront les premiers à bénéficier des progrès promis par MemShrink.

Source : le groupe mozilla.dev.platform, Wiki du projet

Et vous ?

L'augmentation de l'utilisation de mémoire sur Firefox est-elle d'après vous pire qu'avant ?
Quelles options s'offrent d'après vous à la fondation pour résoudre ce problème ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de kdmbella kdmbella - Expert éminent https://www.developpez.com
le 13/06/2011 à 21:54
L'augmentation de l'utilisation de mémoire sur Firefox est-elle d'après vous pire qu'avant ? :

oui et cella se ressent lorsqu'on a plusieurs onglets ouverts et qu'on les referme: le temps mis pour libérer la mémoire est non négligeable.

Quel options s'offrent d'après vous à la fondation pour résoudre ce problème ?

a ce niveau il devrait peut-être revoir leur politique d'allocation et de libération de la mémoire au niveau du processus firefox et peut-être se référer un peu à la technique qu'utilise java avec son ramasse miette bref sur ce plan techniquement je sais pas trop quoi faire !
Avatar de air-dex air-dex - Membre émérite https://www.developpez.com
le 14/06/2011 à 0:10
Citation Envoyé par Idelways  Voir le message
L'augmentation de l'utilisation de mémoire sur Firefox est-elle d'après vous pire qu'avant ?

Oui. Utilisant Firefox depuis la version 3.0, je n'avais pas spécialement remarqué cela jusqu'à l'arrivée de la v4.0. Firefox est désormais un gouffre à RAM, et quelques onglets ouverts suffisent à le faire ramer. Face à ce problème, je trouve même que Linux résiste mieux que Windows.
Avatar de transgohan transgohan - Expert confirmé https://www.developpez.com
le 14/06/2011 à 8:14
Quelle bonne nouvelle ! J'en ai en effet marre de voir le process monter à plus de 800mio alors que le seul pauvre onglet qu'il me reste d'ouvert n'est autre que celui de mon moteur de recherche favori...

Et le pire c'est d'entendre le PC de ma mère qui swap lorsqu'elle navigue depuis plus de deux heures sur le net... (vieux PC faut tout de même préciser )
Avatar de Uther Uther - Expert éminent https://www.developpez.com
le 14/06/2011 à 9:29
Citation Envoyé par air-dex  Voir le message
Oui. Utilisant Firefox depuis la version 3.0, je n'avais pas spécialement remarqué cela jusqu'à l'arrivée de la v4.0. Firefox est désormais un gouffre à RAM, et quelques onglets ouverts suffisent à le faire ramer. Face à ce problème, je trouve même que Linux résiste mieux que Windows.

Firefox 3.0 avait lui aussi eté l'objet d'un travail lourd sur la consommation mémoire qui avait été très décrié sur la branche 2.0. Il était globalement le plus économe en mémoire de tous les grand navigateurs dès que l'on utilisais plus de 2-3 onglets.

Mais c'est vrai que depuis la situation c'est vraiment dégradée. Sur les petites configs, ca peut être problématique, même si sur mes machines, cette surconsommation passe totalement inaperçue.
Avatar de grafikm_fr grafikm_fr - Expert confirmé https://www.developpez.com
le 14/06/2011 à 11:29
Citation Envoyé par transgohan  Voir le message
Quelle bonne nouvelle ! J'en ai en effet marre de voir le process monter à plus de 800mio alors que le seul pauvre onglet qu'il me reste d'ouvert n'est autre que celui de mon moteur de recherche favori..

Ça et l'onglet qui freeze en attendant le DNS si celui-ci est un peu poussif, ce sont deux problèmes majeurs que FF devrait en effet résoudre.
Avatar de squelos squelos - Membre régulier https://www.developpez.com
le 14/06/2011 à 12:05
Depuis la version 3, j'ai abandonné FireFox au profit d'Opera puis de Chrome.
La consommation excessive de RAM, la lenteur globale, les freeze en attendant la page ... A se demander si les développeurs de chez FF savent même créer des threads ! On dirait vraiment que tout est fait dans le main thread en C++ en allouant de la memoire sans jamais la liberer !

Les solutions ?

Je pense qu'arrivé a ce stade, mieux vaut tout reprendre de zero, et repartir sur de bonnes bases. Corriger tout les problèmes prendra plus de temps que repartir de zéro je pense. Car ca sent les problemes de conception d'ailleurs ...

Je trouve Opera et Chrome bien plus sains...
Avatar de iznogoudmc iznogoudmc - Membre habitué https://www.developpez.com
le 15/06/2011 à 9:04
Vous voulez optimiser l'utilisation de la RAM ? Tout simple : abandonnez la POO !
Avatar de Flaburgan Flaburgan - Modérateur https://www.developpez.com
le 15/06/2011 à 12:22
Il ne faut pas oublier non plus que ce sont souvent les extensions qui ralentissent Firefox. Voir "Mozilla s'en prend aux développeurs d'extensions lentes". Le code des extensions n'est pas produit par la fondation, pas évident alors de le contrôler...
Avatar de transgohan transgohan - Expert confirmé https://www.developpez.com
le 15/06/2011 à 12:40
Citation Envoyé par Flaburgan  Voir le message
Il ne faut pas oublier non plus que ce sont souvent les extensions qui ralentissent Firefox. Voir "Mozilla s'en prend aux développeurs d'extensions lentes". Le code des extensions n'est pas produit par la fondation, pas évident alors de le contrôler...

Mon Firefox (3.6) monte à plus de 800mio sans aucune extension en une journée.
Avatar de sybil sybil - Inactif https://www.developpez.com
le 22/06/2011 à 1:10
3.6.17 est une bonne version , la nouvelle version le skin a ete changé, et il est plus lourd! avec ça et leur envie de ressembler a Chrome, nul.
Offres d'emploi IT
Spécialiste systèmes informatiques qualité et référent procédure H/F
Safran - Ile de France - Colombes (92700)
Chef projet big data - pse flotte H/F
Safran - Ile de France - Évry (91090)
Architecte technique des systèmes d'information H/F
Safran - Ile de France - Évry (91090)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil