Для разработки Firefox не хватает памяти

06-04-2012
Компания Mozilla, разрабатывающая популярный веб-браузер Firefox, столкнулась с неожиданными трудностями в дальнейшем развитии своего продукта, которые, правда, выглядят несколько надуманными в свете современных технологий. Как сообщили разработчики, объем кода в браузере Firefox стал слишком велик, поэтому, по их словам, программе-компоновщику не хватает адресуемой виртуальной памяти. Дело в том, как говорят разработчики, что компиляция и сборка продукта выполняются на 32-битных машинах, которые могут адресовать лишь ограниченный объем виртуальной памяти даже при установке дополнительной физической памяти.

Как заявил Кайл Хьюи (Kyle Huey), представитель команды разработчиков Firefox, подобная проблема уже возникала пару лет назад, когда был достигнут предел в 2 Гбайт адресуемого пространства виртуальной памяти. Тогда на машинах, используемых для сборки, разработчики просто добавили специальный ключ «/3GB» в команды сборки, что добавило лишний гигабайт свободного места для линковки компонентов и спасло положение на некоторое время. В нынешней ситуации подобного ключа уже нет – прежние компиляторы уже не подойдут.

Корень проблемы заключается в специальной стадии оптимизации с использованием метода под названием «Profile-Guided Optimisation» (PGO – Оптимизация по профилю). Именно эта стадия в сборке браузера Firefox требует больше всего памяти. Ряд экспертов предлагает вообще перестать использовать PGO, поскольку выигрыш от нее не совсем очевиден. С другой стороны, отказ от оптимизации нельзя назвать умным ходом в угоду компиляции.

Вместо отказа от ресурсоемкой оптимизации на 32-битных сборочных машинах, компания Mozilla рассматривает возможность разбить на части библиотеку «libxul», где подавляющая часть ключевого кода сгруппирована в укрупненные сборки. Лучшими кандидатами на выделение в отдельные сборки могут стать модули WebGL и ANGLE (модуль ANGLE обеспечивает работу 3D-графики WebGL поверх Direct3D), хотя есть и другие вполне подходящие для отдельной сборки компоненты. Кроме того, разбивке на группы могут подвергнуться библиотеки для работы с мультимедийным контентом.

Пока окончательный способ решения проблем с линковкой компонентов не найден, разработчики удаляют из официальных сборок ряд самых новых модулей, включая технологии Graphite, SPDY и libreg, которые планировалось включить в версию Firefox 11. Еще одно возможное решение заключается в переходе на новую среду разработки, компиляции и сборки Microsoft Visual C++ 2010 – она может линковать компоненты эффективнее и с меньшим потреблением памяти. Наконец, разработчики смогут перейти на сборку бинарных компонентов 32-битной версии Firefox на 64-битных машинах, которые могут адресовать более 4 Гбайт памяти. Непонятно, почему они не сделали этого раньше, ведь даже бинарные файлы для смартфонов собирают на обычных ПК и серверах с архитектурой x86, на не самих аппаратах с ARM-процессорами.

По материалам сайта Softpedia.

Новости

все
25.07.2012
Главный инспектор аэрокосмического агентства США, НАСА, сообщил о расследовании скандального
24.07.2012
Анонсированы Leica M9 и X1: карманный FF и APS-C с фиксом Для тех, кто не желает таскать с
23.07.2012
Скоро беспроводная сеть позволит посмотреть сквозь стену? Видеть сквозь препятствия –

Дизайны

Разработали структуру сайта, создали сайт, соответствующий всем требованиям заказчика. Создали
Разработали структуру сайта, создали сайт по новым технологиям. Создали индивидуальный и
ООО Транспортная Компания «ТрансРусь» предлагает Вам свои услуги по приемке и