L'apparition de la gestion multiprocessus pour Firefox implique par voie de conséquence une augmentation de l'utilisation de la mémoire RAM. Néanmoins, celle-ci demeure contenue d'après des tests réalisés par le développeur Eric Rahm. Il participe au groupe memshrink de Mozilla pour la réduction de la consommation mémoire.

Sur des configurations Windows 10, macOS 10.2 et Ubuntu 16.04, le développeur a testé les navigateurs Firefox, Google Chrome, Safari et Internet Explorer 11 afin de jauger leur utilisation de mémoire à l'aune d'une gestion multiprocessus. Hormis pour IE11, ce sont des versions avancées (en amont d'une version stable) des navigateurs qui ont été testées.

Le benchmark n'a pas retenu Microsoft Edge dans la mesure où le protocole employé n'a pas permis de l'évaluer. Pour l'essentiel, il a résidé au chargement d'une trentaine de pages Web - chacune dans son propre onglet - de sites du Top 100 du classement Alexa. Avec dix secondes entre les chargements, il a été observé au final l'utilisation mémoire du navigateur.

Plus de détails sont publiés dans un billet du blog. Le graphique ci-dessous résume les résultats :

navigateurs-consommation-memoire

Sur Windows et Ubuntu, Firefox s'en tire beaucoup mieux par rapport à Chrome avec une différence significative. Cela vaut même lorsque plusieurs processus pour le contenu sont activés, soit de 2 à 8 processus. De même que le sandboxing, l'ajout de davantage de processus pour le contenu - cela va se faire progressivement avec les versions de Firefox - ne devrait donc pas être aussi problématique qu'on aurait pu le croire.

Pour le cas de Windows 10 par exemple, la consommation mémoire passe de 587 Mo avec deux processus, à 839 Mo avec quatre et 905 Mo avec huit. Pour Google Chrome, elle est de 1 382 Mo (et 660 Mo pour IE11). Sur macOS, les différences entre les navigateurs sont moins marquées.

On soulignera que ces résultats sont à prendre avec un peu de recul, du moins en ce qui concerne la comparaison avec Chrome. Par défaut, Google Chrome utilise un processus pour le contenu par onglet.