Один из разработчиков Mozilla выложил на всеобщее обозрение любопытный доклад с изложением истории борьбы с утечками памяти в браузере Firefox и с подробностями о внесенных в течение последнего года оптимизациях, которые направлены на снижение потребления памяти в браузере Firefox.
В своем докладе автор разобрал некоторые типовые ошибки и представил обзор проблем, которые возникают во время использования различных стратегий выделения памяти.
В течение последнего времени в рамках проекта MemShrink разработчики проделали огромную работу с целью сократить рост потребления памяти во время интенсивного использования веб-браузера.
К примеру, в версии Firefox 7 удалось сократить потребление памяти на 20-30%, а добавленные наработки в Firefox 8 привели к уменьшению расхода памяти еще примерно на 14%, а в версии Firefox 9 - еще минус 16%.
Как заявляют разработчики, в грядущих версиях обозревателя тенденция уменьшения потребления памяти будет сохраняться.
В текущее время разработчики сосредоточились на борьбе с чрезмерным потреблением памяти в дополнениях, например, таких как Firebug и AdBlock.
С этой целью ведется разработка специального инструментария, позволяющего автоматизировать выявление утечек памяти в дополнениях.
Кроме того, планируется внесение улучшений, связанных с упаковкой памяти в сборщике мусора (чтобы сократить фрагментацию памяти), переработка кода декодирования изображений (в текущее время неэффективно расходуется память во время отображения веб-страниц, на которых размещено много изображений), реализация механизма адаптивного управления памятью (системы с небольшим размером ОЗУ получат более агрессивные алгоритмы вытеснения данных, которые уже не используются), автоматизация выявления регрессивных изменений.