Отчёт о работе, проделанной для снижения потребления памяти в Firefox

Один из разработчиков Mozilla опубликовал интересный доклад (PDF, 13 Мб, 37 стр.), в котором изложена история борьбы с утечками памяти в Firefox и подробности внесённых за последний год оптимизаций, направленных на снижение потребления памяти в Firefox. В докладе разобраны некоторые типовые ошибки и представлен обзор проблем, возникающих при использовании тех или иных стратегий выделения памяти.

В последнее время в рамках проекта MemShrink была проделана большая работа по сокращению роста потребления памяти при интенсивном использовании браузера. Например, в версии Firefox 7 потребление памяти было сокращено на 20-30%, добавленные в Firefox 8 наработки позволили уменьшить расход памяти ещё приблизительно на 14%, а в Firefox 9 - ещё на 16%. По заявлению разработчиков в следующих версиях браузера тенденция сокращения потребления памяти будет сохранена.

В настоящее время работа сосредоточена на борьбе с излишним потреблением памяти в дополнениях, таких как AdBlock и Firebug. Для этого ведётся подготовка специального инструментария для автоматизации выявления утечек памяти в дополнениях. Также планируется внести улучшения, связанные с упаковкой памяти в сборщике мусора (для уменьшения фрагментации памяти), переработать код декодирования изображений (в настоящее время не эффективно расходуется память при отображении страниц с большим числом изображений), реализовать механизм адаптивного управления памятью (для систем с небольшим размером ОЗУ будут использоваться более агрессивные алгоритмы вытеснения уже не используемых данных), автоматизировать выявление регрессивных изменений.

Полный текст статьи читайте на OpenNet