27

Są konkretne dane na temat zmniejszonego zapotrzebowania na pamięć Firefoxa 7 i 8. Jest lepiej co najmniej o 20-30%

Nicholas Nethercote, jeden z programistów pracujących dla Mozilli, postanowił podzielić się na swoim blogu najnowszymi informacjami dotyczącymi zarządzania pamięcią przez przyszłe wydania Firefoksa. Szczególnie chodzi tu o wersję 7, która nadjedzie już niebawem. Okazuje się, że nastąpią dwie bardzo ważne zmiany: zużycie pamięci zostanie zmniejszone o ok. 20-30% a czasami nawet do 50%, oraz zużycie […]

Nicholas Nethercote, jeden z programistów pracujących dla Mozilli, postanowił podzielić się na swoim blogu najnowszymi informacjami dotyczącymi zarządzania pamięcią przez przyszłe wydania Firefoksa. Szczególnie chodzi tu o wersję 7, która nadjedzie już niebawem. Okazuje się, że nastąpią dwie bardzo ważne zmiany: zużycie pamięci zostanie zmniejszone o ok. 20-30% a czasami nawet do 50%, oraz zużycie pamięci nie będzie wzrastać samo z siebie, nawet jeżeli zostawimy włączoną przeglądarkę na długi okres czasu, na przykład przez całą noc. Dodatkowo będzie zwalniać więcej pamięci po zamknięciu kart. Wszystko razem powoduje, że przeglądarka działa szybciej i stabilniej.

Gorąco kibicuje Firefoksowi, bo nie ma dla użytkownika nic lepszego niż zacięta konkurencja, a ta od jakiegoś czasu osłabła, kiedy Chrome zdaje się znacznie wyprzedzać inne przeglądarki pod względem szybkości działania. Już niedługo Firefox może Chrome zacząć deptać po piętach.

Opisane we wstępie zmiany na lepsze są efektem projektu MemShrink. Znaczący postęp został dokonany w okresie 7 tygodni, czyli tyle ile wynosi nowy okres wydawniczy przeglądarki Mozilli. Należy podkreślić, że mierzenie zużycia pamięci nie jest zadaniem łatwym z dwóch powodów. Nie ma standardowych benchmarków, które dokonywałyby takich pomiarów, to po pierwsze. Po drugie, diametralnie różni się odbiór działania przeglądarki między osobami które zwykle maja otwarte kilka-kilkanaście kart, a tymi którzy mają ich otwartych na raz kilkadziesiąt, czy wręcz sto kilkadziesiąt. Sam zdziwiłem się, że ten drugi przypadek wcale nie jest bardzo rzadki.

Okazuje się, że w przypadku gdy mamy otwarte naprawdę bardzo dużo kart Firefox sprawuje się zdecydowanie lepiej od Chrome, nawet na obecnej wersji stabilnej. Mówi o tym chociażby ten artykuł. Wprowadzone poprawki mają tą sytuacje jeszcze poprawić.

Poniższe wykresy przedstawiają średnie i szczytowe zużycie pamięci RAM przez Firefoksa. Test polegał na otworzeniu 30 kart, aby zwiększyć dokładność przeprowadzono pięć kolejnych prób.

Są również wykresy przedstawiające zużycie pamięci w funkcji czasowej. Pierwszy wykres pokazuje zużycie pamięci przez Firefoksa 6, a drugi Firefoksa 7. Należy porównywać ze sobą filetowe linie. Autor zaznacza na blogu, że znaczenie (sposób naliczania?) zielonej linii uległ zmianie pomiędzy wersjami i nie można ich porównywać między sobą.

Firefox 6

Firefox 7

Widać wyraźnie, że Firefox w wersji 7 zużywa znacznie mniej pamięci, od wersji 6.

Autor wykonał jeszcze jedną próbę przy wykorzystaniu MemBench, który otwiera kolejno 150 kart, z półtora sekundowym późnieniem. Okazało się, że Firefox w wersji 6 zużył w szczytowym momencie 2 028 MB pamięci RAM, podczas gdy w wersji 7 nastąpiła 8,7% redukcja zużycia pamięci do 1 851 MB. Ciekawszy wynik dotyczy zmniejszenia fragmentacji pamięci. Po zakończeniu testu, zużycie pamięci przez Firefoksa 6 wynosiło 669 MB, podczas gdy w wersji 7 spadło o 52,0% do 321 MB.

Podsumowując, Firefox 7 jest szybszy, żwawiej reaguje na polecenia, ma mniej pauz podczas działania, co w sumie składa się na znacznie bardziej przyjazne użytkownikowi doświadczenie.

Zmniejszone zużycie pamięci RAM powinno również skutkować mniejszą ilością zawieszeń przeglądarki na Windows, ponieważ jako aplikacja 32 bitowa, Firefox ma limit wykorzystania pamięci do 2 GB RAM. Wprowadzenie wersji 8 jeszcze bardziej optymalizuje wykorzystanie pamięci, a jest to przecież wersja mocno rozwijana w tej chwili.