Electrolysis : un processus par onglet dès Firefox 36 ?
Marathonien ou sprinteur, il faut choisir
Le 28 octobre 2014 à 15h35
4 min
Logiciel
Logiciel
2014 aura été une année déterminante pour Firefox, tant les changements techniques sous le capot ont été nombreux. Mais il reste un point sur lequel le navigateur est toujours attendu au tournant : l’utilisation des processus multiples. Quelques efforts ont été faits pour préparer le terrain, mais la question demeure : où en est le projet Electrolysis ?
Multiprocessus : Firefox à la traîne depuis des années
Dans le domaine des navigateurs, les améliorations de performances et de sécurité sont nombreuses et constantes. Il existe plusieurs leviers sur lesquels les développeurs peuvent jouer, notamment le ou les moteurs JavaScript, le moteur de rendu lui-même, ou encore la manière dont le navigateur sépare ses activités en différents processus.
La solution la plus utilisée aujourd’hui est une architecture multiprocessus. Elle a été initiée par Microsoft avec Internet Explorer 8, qui créait en moyenne un processus par groupe de trois ou quatre onglets ouverts. La version 9 a ramené ce chiffre à un ou deux onglets, jusqu’à ce que Chrome arrive et lance la règle « un onglet = un processus ». Les bénéfices étaient nombreux, notamment en termes de performances et de sécurité, puisque les processeurs à cœurs multiples étaient mieux exploités et les échanges entre les onglets étaient pour la plupart interdits. Le prix à payer était cependant une consommation de mémoire vive en légère hausse.
La situation s’est étendue par la suite à Safari par les travaux faits sur le moteur webkit2, et à Opera par son choix radical d’utiliser le moteur Blink de Google. Ce qui laissait Firefox à la traîne, bien que Mozilla ait déjà réalisé certaines opérations. Firefox ne fonctionne en effet plus depuis longtemps comme un processus monolithique, et tout ce qui touche par exemple au rendu de l’interface est calculé dans un processus secondaire. Les plugins subissent le même traitement, pour des raisons évidentes de sécurité, aucun éditeur de navigateur ne pouvant contrôler le code binaire fermé de ces modules (Flash, Java, Silverlight et ainsi de suite).
Le projet Electrolysis n'a pas été abandonné
Chez Mozilla, il existe pourtant depuis des années des travaux réunis au sein d’un projet nommé Electrolysis. L’objectif est précisément ce dont il est question ici : découper le traitement des sites contenus dans les onglets comme autant de processus. Où en est ce projet ? En fait, si Mozilla n’en parle pas, cela ne signifie pas que le travail a été abandonné. Et pour cause : le plan actuel est d’introduire la nouveauté dans Firefox 36.
Le projet chez Mozilla est simplement nommé « e10 s » et n’importe qui peut actuellement le tester. Il suffit pour cela de récupérer la version Nightly la plus récente, de se rendre dans les options et d’activer la case « Enable E10S (multi-process) ». Mais attention : cette option est toujours vectrice de grande instabilité. D’une part, Firefox lui-même peut planter, car tout n’est pas encore prêt, le processus de l’interface allant chercher parfois des informations dans le processus du contenu web… sans tenir compte que ce dernier n’existe plus en tant que tel (puisqu’il est fractionné). D’autre part, une majorité d’extensions doit obligatoirement être mise à jour pour être compatible. Ce qui va donc demander encore de nombreuses modifications.
La fonctionnalité sera activée par défaut sur les Nightlies dans les jours qui viennent
Et c’est précisément pour cela que le mouvement va s’accélérer. Car Mozilla s’apprête à activer par défaut e10 s dans les versions Nightly, ce qui signifie que les testeurs qui aiment à avoir toujours les dernières nouveautés (au prix de la stabilité) vont faire face à cette cassure majeure. La décision est évoquée dans le compte-rendu de la réunion de Mozilla sur ce thème. L’équipe estime que cela ne causera pas de problèmes majeurs dans la navigation elle-même, mais comme indiqué, Firefox peut planter, et de nombreuses extensions fonctionneront mal. Depuis cette page, on peut voir une liste de problèmes recensés, notamment avec Ghostery.
Une fois activée par défaut, la fonctionnalité va donc être testée de manière beaucoup plus approfondie. Lorsqu’elle aura atteint un stade de maturité suffisant, elle remonte le flot habituel des canaux de développement chez Mozilla : Aurora, puis Beta et enfin la version finale. Comme indiqué, c’est Firefox 36 qui devrait hériter en premier d’Electrolysis. La technologie constituerait alors de loin la nouveauté la plus importante de cette mouture prévue pour le printemps prochain.
Electrolysis : un processus par onglet dès Firefox 36 ?
-
Multiprocessus : Firefox à la traîne depuis des années
-
Le projet Electrolysis n'a pas été abandonné
-
La fonctionnalité sera activée par défaut sur les Nightlies dans les jours qui viennent
Commentaires (86)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 28/10/2014 à 15h40
C’est pas trop tôt… " />
Le 28/10/2014 à 15h40
Oula mon process monitor va plus ressembler à rien, j’ai +150 onglets d’ouverts dans mon FF " />
Le 28/10/2014 à 15h43
Etant sur la nightly ,ce n’est pas encore au point …
Le pire,quand un onglet est “cassé” à cause de Es , les autres onglets affichent la même page “sorry, blahblah” …et faut faire F5.
Du coup, une maj sur deux ,je dois revenir sur la aurora …
Le 28/10/2014 à 15h50
ouais super comme chrome, avec des tas de process pff..
je préfère la solution actuelle : le firefox et les plugins, ça suffit largement..
Le 28/10/2014 à 15h53
Mouais. C’est sûr, niveau sécurité c’est mieux (mais osef pour moi : dès que j’ai besoin de sécurité j’ouvre un navigateur différent rien que pour la page en question - et en mode anonyme).
En revanche niveau perfs et conso mémoire c’est beaucoup plus lourd. De plus si des pages sont constamment actives ça peut devenir un gouffre : avant l’OS empêchait le processus du navigateur de se goinfrer mais avec mais plusieurs processes il va accorder à chaque page le même temps CPU qu’une appli entière.
Espérons qu’ils aient au moins prévu de fermer des processes après un temps d’innactivité.
Le 28/10/2014 à 15h57
J’ai déjà en partie l’option dans Firefox Aurora 35 mais je ne vais pas risquer à la tester pour le moment :).
Le 28/10/2014 à 16h00
Et voilà, Firefox continue de se chromiser… " />
J’espère vraiment que ça restera une option. Mon Firefox est parfaitement stable (enfin, disons un plantage tous les 2 ou 3 mois) et n’a donc pas besoin de doubler ou tripler sa consommation de RAM pour rester stable.
Le 28/10/2014 à 16h01
Cette fonctionnalité est énormément catastrophique, Google Chrome ( navigateur que je déteste énormément ) nous offre l’exemple de ce que ça fait réellement : Remplissage de toute la mémoire jusqu’à faire ramer l’ordinateur. Cette fonctionnalité n’améliore rien du tout, elle réduit les performances en usant beaucoup de mémoire avec tout les processus d’ouverts jusqu’à faire ramer l’ordinateur. Je suis très déçu que Firefox copie d’autres navigateurs et en particulier ce pourrit de navigateur collectionneur de données nommé Google Chrome.
Le 28/10/2014 à 16h02
Le 28/10/2014 à 16h04
Le 28/10/2014 à 16h08
+1
Après sous Windows il est aussi possible de killer tous les processus d’un coup : gestionnaire de tache > processus > truc.exe > clic droit > terminer l’arborescence de processus. :-)
Le 28/10/2014 à 16h12
Depuis W8 les processus sont regroupés par application
Le 28/10/2014 à 16h12
au pire y’a process explorer de systernals " />
Le 28/10/2014 à 16h13
Le 28/10/2014 à 16h14
De ce que j’ai pu voir sur la Nightly (je l’ai désactivé vu l’instabilité du bordel " /> ), ce n’est pas forcément un process par onglet. Le fonctionnement a l’air configurable et actuellement, ça semble être un process pour l’UI (firefox.exe) + un process pour les onglets (un plugin-container.exe). L’UI est vraiment plus réactive vu qu’elle n’est plus bloquée par les onglets, par contre, si un onglet vient à crasher, il embarque tous les autres (mais pas l’UI).
Le 28/10/2014 à 16h57
Useless, ce type de fonctionnement se fait au détriment de la mémoire et du CPU (cf chrome)
Le 28/10/2014 à 17h09
C’est vrai. Mais ce n’est pas nécessairement le cas, et ce n’est très certainement pas le cas dans Firefox. Un simple code JS “while(true) {}” et tu bloques l’intégralité du navigateur.
Une séparation en plusieurs process implique directement une indépendance des taches, ce que ne garantissent pas des threads (et je crois pas que les technos utilisées supportent plusieurs threads ayant accès au rendu).
Le 28/10/2014 à 17h10
qui remplace mon gestionnaire de tâche depuis des années " /> j’ai commencé à l’utiliser pour GW1 double compte " /> ça date ..
Sinon pas fan du multi process … à part si ça permet à Flash de NE planter que sur 1 onglet ! mais sinon auquel cas ça sert à rien
oui flash et FF une histoire d’amour
Le 28/10/2014 à 17h54
Je n’ai absolument pas d’avis à propos de ça.
(vous n’étiez absolument pas obligé de lire ce commentaire dont l’inutilité le dispute à l’ignorance)
Le 28/10/2014 à 18h02
Mozilla n’a pas pour habitude de supprimer des fonctionnalités. Au pire, elles sont sorties du menu « Préférences » mais restent accessibles via about:config.
Le 28/10/2014 à 18h02
Je suis également dubitatif. J’utilise régulièrement Chrome et Firefox mais Firefox reste mon navigateur de prédilection… ben je ne compte pas les fois où le 1 process par onglet est problématique pour l’ordi. Conso mémoire affolante quand on dépasse quelques onglets et surtout 1 process “plugin” par onglet, genre t’ouvres 20 onglets avec du flash dedans ton ordi est mort :(
Le 28/10/2014 à 18h20
Chaque plugin a son propre processus, tu n’auras jamais 2 plugins flash lancés en même temps.
Sinon, pas besoin de killer à la mano un processus pour virer un onglet, l’UI (en tout cas sur Chrome) répond.En faite vu que l’UI est géré par un autre processus, elle envoit le kill.
Pour la conso mémoire, effectivement ça bouffe plus de mémoire la séparation par processus mais il faut vivre avec son temps. Les pc aujourd’hui c’est 4 go de ram, ça permet de naviguer avec facilement 20 onglets. Au dela il faut penser à les fermer, les favoris existent pour ça. Et puis le but c’est de faire un navigateur qui ait les meilleurs compromis pour 99% des gens (je ne connais personne qui utilise plus de 30 onglets à la fois, d’ailleurs : http://www.slate.com/articles/life/the_hive/2010/12/open_this_story_in_a_new_tab.html).
Le 28/10/2014 à 18h43
Le 28/10/2014 à 19h12
killall firefox
dans un terminal et c’est plus court., ah oui j’oubliais : sous Linux " />
Le 28/10/2014 à 19h13
Moi j’attends surtout que Flash meurt " />
Le 28/10/2014 à 19h20
Le 28/10/2014 à 19h28
Le 28/10/2014 à 19h34
Le 28/10/2014 à 19h42
Moi à la limite, je préférerai que ce soit configurable, genre par nom de domaine => tout Atlassian dans son propre processus, gmail idem, et le reste en global.
Et pas besoin d’avoir 10k processus, … juste 2 ou 3 histoire de pas tout faire freezer :/ (vécu sous Linux à cause d’un DD à la ramasse).
Le 28/10/2014 à 20h00
La nouvelle interface des paramètres est disponible aussi sur Aurora ? Je ne l’ai toujours pas bizarrement.
Le 28/10/2014 à 20h19
Ah ca je ne peux qu’approuver ! De mon coter je reste sur FF justement pour ses capacités de personnalisation et de choix avancés. Si sur ma tour perso le multi processus me convient, il va fortement m’embêter dans la situation pro ou la surveillance des processus applicatifs lancés est par moment obligatoire :-/
Le 28/10/2014 à 16h14
Génial, moi qui espérais qu’ils avaient abandonné… J’espère qu’on pourra le désactiver… Avec mon utilisation, Chrome plante avant que j’ai ouvert le tier des onglets que j’ai sur Firefox tant ça gère mal un grand nombre d’onglets (utilisation de RAM bien supérieure dés qu’il y a un nombre assez important d’onglets)… Enfin ça ne veut pas dire que ça ne gèrera pas mieux, d’autant que contrairement à chrome (en tout cas par défaut, je n’ai pas fait le tour de ses extensions), ça n’initialise que les onglets qu’on utilise.
Le 28/10/2014 à 16h25
Le 28/10/2014 à 16h28
Le 28/10/2014 à 16h29
J’avais quitté chromium entre autres pour leur multi-processus… J’espère au moins que ce sera désactivable.
Le 28/10/2014 à 16h32
Le 28/10/2014 à 16h32
Le 28/10/2014 à 16h33
Le 28/10/2014 à 16h34
A voir quand ça sera stable, sinon je n’aime pas non plus cette dérive vers Chrome. Mais faut être réaliste, les gens ont l’air de bien aimer…
Le 28/10/2014 à 16h34
Le 28/10/2014 à 16h35
boire ou conduire quoter ou répondre, il faut choisir :)
ah mais non il édite le fourbe ^^
Le 28/10/2014 à 16h35
Le 28/10/2014 à 16h37
La plupart des commentaires ici sont hilarants.
Je ne suis pas un aficionado de Chrome non plus, mais ce n’est pas parce qu’une idée vient de Chrome qu’elle est mauvaise. Qu’auriez-vous dit si Opera avait été le pionnier dans ce cas ?
Le 28/10/2014 à 16h39
Le 28/10/2014 à 16h48
Il me semble que le fonctionnement multiprocess de Firefox est different de celui de Chrome (≠ pas un onglet par processus)
Bon ça fait quand même depuis décembre denier que le travail a accélérer.
Pour vos modules pour savoir si ils sont compatible;http://arewee10syet.com
Le 28/10/2014 à 16h48
Le 28/10/2014 à 16h48
Le 28/10/2014 à 20h53
Utilise « Process Explorer », au moins plus de problème. (J’ai le même problème au boulot, difficile de vivre sans)
Le 28/10/2014 à 22h18
Le 28/10/2014 à 22h37
J’ai bossé un an sur un pc avec 4GB de ram, impossible d’ouvrir une 20 d’onglets sans voir tout le laptop ramer alors que le reste sur mon pc était léger c’est quand même idiot que en 2014 4GB de ram soit pas asser alors qu’il y a quelques années on ouvrait plus d’onglets sur des configs moins puissantes.
Le 29/10/2014 à 07h23
Et tu n’as toujours pas comprit que les version nightly ne sont pas faites pour être utilisées au quotidien?
Le 29/10/2014 à 07h25
Mouais je n’aimais pas Chrome pour cela.
Maintenant on va se retrouver avec 50 processus dans le gestionnaire de tâche…
Firefox se dirige petit à petit vers un clone de Chrome…
Le 29/10/2014 à 07h43
mdr, je sais bien justement…
Mais si , une maj sur deux ,tu ne peux plus utiliser ton exploreur… y a plus qu’un pb de stabilité.
Et,si tu avais bien lu, je dis bien que j’utilise aurora à côté ^^
Le 29/10/2014 à 08h17
À noter que la version stable est passée en 33.0.2
Le 29/10/2014 à 08h35
Du coup oui c’est sûr qu’il risquera de ne plus être fait pour cette utilisation mais bon ils ne vont pas freiner leurs développement à cause d’une part minime d’utilisateurs. Là il faudrait plutôt un système de flux rss/de gestion de favoris simplifiée.
@Exa
Faut compter 100 mo de ram par onglet donc oui ça monte vite pour un pc à 4 go de ram. Perso avec 4go également au boulot j’ai un peu de mal, mais j’ai un serveur web en local, sqldevelopper, lotus notes, openoffice et divers autre petits programmes. Mais un collègue sur firefox a aussi des soucis de lenteur et commence justement à passer sous chrome petit à petit.
Je trouve chrome plus rapide avec son architecture bien qu’il consomme plus de ram. Par contre lorsqu’il n’y a plus de ram dispo, là c’est ingérable effectivement.
Le 29/10/2014 à 08h53
Le 29/10/2014 à 09h13
Le 29/10/2014 à 09h27
Le 29/10/2014 à 09h32
Le 29/10/2014 à 09h38
Le 29/10/2014 à 09h39
Le 29/10/2014 à 10h03
Le 29/10/2014 à 10h09
Le 29/10/2014 à 10h21
Le 29/10/2014 à 10h52
Ah ben je suis pas le seul à utiliser Firefox avec des dizaines d’onglets " />
Et à 100% d’accord sur le peux d’intérêt d’avoir un processus par onglet. Sauf pour l’usage lambda FB,YT…
Et pour ceux qui disent qu’il faut vivre avec son temps, mes 100-150 onglets c’est Windows Xp avec 3,25Go de ram, et ça marche très bien. Si je récupère cette session sous Chrome/Opera, je pense que la conso ram serait exponentielle. Et tout ça pour rien!
Le 29/10/2014 à 13h09
Pour répondre à tous ceux qui râlent sur l’aspect mémoire.
Je ne vois pas pourquoi l’utilisation de plusieurs processus ferait augmenter significativement la consommation mémoire.
L’essentiel de la mémoire consommée par un navigateur correspond à la mémoire utile pour décrire une page, l’interpréter et l’afficher.
La mémoire utilisée pour la création d’un processus doit être assez faible quel que soit l’OS : descripteur de processus plus les données globales du processus qui elles sont bien à multiplier. Petit rappel, le code et les données en lecture seule ne sont chargés qu’une seule fois pour l’ensemble des processus.
Ensuite, si l’OS sur lequel tourne le navigateur gère mal l’utilisation de la mémoire, c’est un autre problème.
Tant qu’il y a de la mémoire, il faut l’utiliser : cela améliore les performances quand on accède à un nouvel onglet. Par contre, si la mémoire n’est pas utilisée, autant swapper le contenu sur disque pour rendre la mémoire disponible pour quelque chose de plus utile. C’est là, le rôle de l’OS et pas de l’application.
Bref, si l’OS est efficace, il n’y a aucune raison que l’utilisation de la mémoire ne soit très différente en momo processus ou en multi processus.
Le 29/10/2014 à 13h19
Le 29/10/2014 à 13h33
Le 29/10/2014 à 13h40
Le 29/10/2014 à 14h51
Le 29/10/2014 à 19h11
Le 29/10/2014 à 19h17
Le 29/10/2014 à 21h40
chrome.exe –single-process
Tadaa!! Chrome avec uniquement un seul processus!
Le 30/10/2014 à 06h00
369 Mo de ram pour 3 onglets ça doit pas les choquer par contre " />
Le 30/10/2014 à 08h25
Désolé d’avoir été franc et d’avoir dit que j’utilisais encore WinXP. Sinon ne t’inquiète pas je sais utiliser un ordinateur, je suis même administrateur réseau, et quand je mettais en avant mon vieux pc avec seulement 3.25Go de ram c’était pour bien montré qu’une centaine d’onglets ouverts sur un vieux système ça marche très bien quand on a un navigateur qui adapte sa consommation. D’ailleurs l’installation date de 2008, histoire de casser également les fausses croyances de Windows Xp qu’il fallait formater/installer tous les ans pour qu’il fonctionne correctement.
D’ailleurs sur ce poste y a une Debian 7 et un Windows 7 à jours. Juste que mon Xp est le seul qui n’a pas de soucis de volume sonore avec ma carte son et que j’ai la flemme de tout migrer pour le moment!
Cordonnier tout ça!
Et pour la consommation de ram je me souviens encore d’utiliser à l’époque Opera avec une trentaine d’onglets ouverts. Et lors de la mise à jours ils avaient migré vers le moteur de rendu de Chrome.
Bien sur avec la nouvelle version plantages sur plantages, impossible de récupérer la session précédente. " />
Y avait une consommation de 800Mo de ram avant la mise à jours, après c’était au dessus de 4Go et puis ça plantait…normal!
Voila un commentaire sans attaques, remise en cause de crédibilité, et argumenté je pense. Mais à la vue de ton avis tu as raison et personne ne le remettra en cause.
Même si je suis tout à fait d’accord que sur le papier il n’y a pas de raison que la consommation de mémoire explose. Sauf qu’en réalité les autres navigateurs passé sur le multi-processus nous ont bien montré que la consommation augmente.
Le 30/10/2014 à 17h22
Le 30/10/2014 à 23h09
Cesse de lui chercher des poux, s’il préfère XP qu’il reste sur XP.
Par contre s’il a un iphone, ou est client de free, je ne répond plus de rien " />
Le 31/10/2014 à 01h00
Le 31/10/2014 à 08h29
En tout cas moi y’a un truc que je pige pas c’est que Firefox mette tant de temps à se lancer au démarrage.
Surtout quand je compare avec Chrome.
Firefox c’est genre 30 secondes, là où Chrome c’est 5 secondes.
Le 31/10/2014 à 09h08
Et oui je suis chez Free et Freemobile " />
Mais un iPhone jamais!
“Firefox c’est genre 30 secondes, là où Chrome c’est 5 secondes.
Je sais pas comment tu fais mais ton poste à un problème, que Chrome ait une impression d’ouverture rapide oui, qu’il y ait un écart entre les deux aussi grand c’est que ton Firefox à des soucis.
Le 31/10/2014 à 09h26
C’est l’intention qui compte. " />
Le 31/10/2014 à 09h29
Tu dois avoir un souci quelconque, peut-être avec une extension, ou trop de favoris/historique/session ? Quelle version as-tu ?
En tout cas perso Firefox (28) se lance en grosso merdo 6 secondes avec une session de moyenne >100 onglets, là où Chrome met 3 secondes avec 10 onglets (je le réserve aux usages très ponctuels " />). Ce qui me semble plutôt performant : même si le SSD y est pour beaucoup, ça souligne tout de même que Fx peut gérer de bonnes sessions.
Le 31/10/2014 à 10h28
Le 31/10/2014 à 10h33
Le 31/10/2014 à 10h40
Le 31/10/2014 à 23h12