Electrolysis přijde již letos
O projektu Electrolysis se mluví již sedm let, ale nasazení se stále odkládá. Firefox se totiž kvůli němu musí celý přepsat. Zároveň není snadné udělat tlustou čáru za starými rozšířeními a začít od píky. Proto je vývoj pomalý.
Firefox ale díky němu bude stabilnější a snad i svižnější. Moderní počítače i mobily využívají vícejádrové procesory, ale Firefox neumí jejich výhody využít. Samotný prohlížeč a rozšíření běží v jednom vláknu, akorát zásuvné moduly jako Flash Player apod. mají vlastní vlákna. Rozdělením do více procesů se zabrání problémům, kdy jeden jedna stránka shodí celý prohlížeč.
Chrome například zakládá vlastní procesy pro všechny otevřené panely, samotný prohlížeč a doplňky. Mozilla bude postupovat opatrněji. První verze přinese jen jeden proces navíc (tedy jeden pro prohlížeč a jeden pro obsah). V pozdějších verzích přibude podpora více vláken.
Pro začátek jen 20 % RAM navíc
Ale zpět z Rahmovi a jeho pokusu. Vytvořil si test, ve kterém postupně v 30 panelech otevřel 100 stránek, každou nechal otevřenou 10 sekund. Měřil přitom využití paměti ve všech fázích testu. Při aktivaci jednoho procesu navíc využil experimentální Firefox o 10–20 % více RAM než jeho stávající verze. Výsledky se lišily na různých operačních systémech, ale rozdíly nebyly extrémní. Při využití 8 procesů navíc se náročnost zdvojnásobila.
0 procesů | 1 proces | 2 procesy | 4 procesy | 8 procesů | |
Ubuntu (FF 64b) | 190/457 MB | 232/544 MB | 223/586 MB | 223/714 MB | 229/871 MB |
Windows 7 (FF 32b) | 172/461 MB | 212/537 MB | 207/631 MB | 204/800 MB | 213/1099 MB |
Windows 7 (FF 64b) | 245/618 MB | 276/699 MB | 275/805 MB | 275/1061 MB | 295/1334 MB |
OS X (FF 64b) | 319/889 MB | 350/1038 MB | 342/1243 MB | 336/1397 MB | 336/1694 MB |
Ve sloupcích jsou výsledky za x procesů navíc (0 procesů je současný Firefox). V buňkách je využití RAM po startu prohlížeče / otevření 30 panelů.
Rahm dále srovnal Firefox (s jedním procesem navíc) s ostatními prohlížeči. Ze stejného testu vyšel jako vítěz Safari. Na OS X spotřeboval polovinu paměti, kterou potřeboval Firefox, a třetinu paměti u Chromu. Na Ubuntu i Windows 7 se Firefox choval stejně jako IE 11 a jen o něco hůř než Safari.
Využití paměti Firefoxu s architekturou Electrolysis
Mozillu čeká ještě hodně práce. Electrolysis bude poprvé aktivní u Firefoxu 46, který vyjde 18. dubna. Zatím bude využívat jeden proces navíc pro webové stránky. Doplňky a funkce pro usnadnění přístupu zatím poběží v hlavním vlákně.
Zdroj: Eric Rahm (1, 2) via Mozilla.cz