Разработчики Mozilla приняли решение [3] приостановить разработку проекта Electrolysis [4], в рамках которого велись работы по переводу Firefox на многопроцессную модель, при которой пользовательский интерфейс и обработка контента обрабатываются разными процессами. В качестве причины прекращения развития проекта в обозримом будущем называется необходимость внесения слишком значительных изменений на уровне архитектуры.
Перевод уже сложившегося продукта, изначально построенного на базе однопроцессной модели, на совершенно другую архитектуру требует вложения значительных ресурсов и привлечения к работе различных команд разработчиков, от разработчиков занимающихся интерфейсом и дополнениями до команд развивающих фронтэнд и ответственных за выпуск релизов. При этом нет гарантии, что после перехода на многопоцессную модель удастся обеспечить полную работоспособность всех уже созданных дополнений, без внесения в них изменений.
В то же время, отмечаются другие пути повышения отзывчивости интерфейса, реализация которых требует значительно меньших вложений и времени на реализацию. Именно таким проектам разработчики намерены уделить внимание в первую очередь. Среди достижимых малой кровью заметных улучшений отмечается переработка кода обслуживания внутренних баз данных, оптимизация работы сборщика мусора и вынос выполнения плагинов в отдельные процессы. По мнению разработчиков, уделив внимание подобным небольшим инициативам, за более короткое время можно достигнуть впечатляющих результатов в плане повышения отзывчивости работы браузера.
Тем не менее, кроме решения проблем с отзывчивостью интерфейса, многопроцессная архитектура обладает [5] рядом дополнительных достоинств, которые проблематично реализовать в рамках однопроцессной модели.
Например, можно упомянуть повышение производительности при работе на многоядерных процессорах; решение проблем с фрагментацией памяти и отдачей освобождённой памяти обратно операционной системе; обеспечение защиты от сбоев (в случае сбоя закроется лишь одна вкладка, не повлияв на работоспособность браузера в целом); повышение безопасности (связанный с текущей вкладкой код выполняется в своей "песочнице", независимо от обработчиков других сайтов; для эксплуатации уязвимостей требуется преодоление нескольких уровней изоляции).
Ссылки:
[1] http://htfl.ru/cat-news-mozilla
[2] http://htfl.ru/cat-news-novosti
[3] /out.php?link=http://lawrencemandel.com/2011/11/15/update-on-multi-process-firefox-electrolysis-development/
[4] /out.php?link=https://wiki.mozilla.org/Electrolysis
[5] http://htfl.ru/news/razrabotchiki-firefox-oboznachili-tseli-perekhoda-na-novuyu-mnogoprotsessnuyu-arkhitekturu