Новости IT, хостинга
Новость от 17.11.2011

Адрес в интернете:
https://news.hostdb.ru/index/show/id/5143

Firefox отказывается в обозримом будущем от перехода на многопроцессную модель


Разработчики Mozilla приняли решение приостановить разработку проекта Electrolysis, в рамках которого велись работы по переводу Firefox на многопроцессную модель, при которой пользовательский интерфейс и обработка контента обрабатываются разными процессами. В качестве причины прекращения развития проекта в обозримом будущем называется необходимость внесения слишком значительных изменений на уровне архитектуры.

Перевод уже сложившегося продукта, изначально построенного на базе однопроцессной модели, на совершенно другую архитектуру требует вложения значительных ресурсов и привлечения к работе различных команд разработчиков, от разработчиков занимающихся интерфейсом и дополнениями до команд развивающих фронтэнд и ответственных за выпуск релизов. При этом нет гарантии, что после перехода на многопоцессную модель удастся обеспечить полную работоспособность всех уже созданных дополнений, без внесения в них изменений.

В то же время, отмечаются другие пути повышения отзывчивости интерфейса, реализация которых требует значительно меньших вложений и времени на реализацию. Именно таким проектам разработчики намерены уделить внимание в первую очередь. Среди достижимых малой кровью заметных улучшений отмечается переработка кода обслуживания внутренних баз данных, оптимизация работы сборщика мусора и вынос выполнения плагинов в отдельные процессы. По мнению разработчиков, уделив внимание подобным небольшим инициативам, за более короткое время можно достигнуть впечатляющих результатов в плане повышения отзывчивости работы браузера.

Тем не менее, кроме решения проблем с отзывчивостью интерфейса, многопроцессная архитектура обладает рядом дополнительных достоинств, которые проблематично реализовать в рамках однопроцессной модели. Например, можно упомянуть повышение производительности при работе на многоядерных процессорах; решение проблем с фрагментацией памяти и отдачей освобождённой памяти обратно операционной системе; обеспечение защиты от сбоев (в случае сбоя закроется лишь одна вкладка, не повлияв на работоспособность браузера в целом); повышение безопасности (связанный с текущей вкладкой код выполняется в своей "песочнице", независимо от обработчиков других сайтов; для эксплуатации уязвимостей требуется преодоление нескольких уровней изоляции).


Распечатано с HostDB.ru.