Эти изменения позволят повысить стабильность браузера, его производительность и безопасность. Как отмечает Билл Макклоски, производительность браузера Firefox итак уже повысилась за счет устранения многих ошибок, связанных с движком JavaScript (в этом сильно помогли проекты MemShrink и Snappy).
По словам Макклоски, неплохо прибавят скорости браузеру наработки из проекта Electrolysis. Последний стартовал еще в 2009 году, но в 2011-ом его приостановили из-за появления более простых возможностей повысить отзывчивость интерфейса, без значительной модернизации текущей архитектуры Firefox. Прошло два года и Mozilla перепробовала в своем браузере практически все идеи по его оптимизации. Так что у разработчика не осталось иного выбора, как вернуться к идее обрабатывать контент и пользовательский интерфейс двумя разными процессами.
Главным преимуществом перехода на многопоточную архитектуру в Firefox разработчики называют безопасность, а не отзывчивость интерфейса, как планировалось ранее. Так, когда злоумышленники находят какую-то незакрытую уязвимость в системе защиты браузера Firefox, то они могут использовать ее для запуска произвольного кода на пользовательской машине. Проблемы безопасности в современном браузере Firefox решаются с привлечением множества техник и приемов, но самый эффективный на сегодняшний день метод – это запуск кода в «песочнице» с ограниченными правами.
Но реализация такой «песочницы» в текущей однопроцессорной архитектуре Firefox неэффективна: «песочница» лишь пресекает выполнение тех действий процесса, которые он делать не должен, а в текущей организации браузера Firefox ему нужен широкий доступ к файловой системе и сети. Как надеется разработчик, когда у них будет на руках мультипроцессорный браузер, то они смогут запускать каждый процесс веб-контента в своей «песочнице» с серьезно ограниченными правами, что позволит сильно снизить уязвимость браузера. Контролировать доступ к файловой системе будет главный процессор.
Новый режим уже проходит апробацию в ночных сборках браузера (активируется из меню настроек). Переход на многопоточный режим в Firefox не привел к увеличению потребления памяти в сравнении с однопоточным режимом. По словам Билла Макклоски, разница составляет всего 10 Мб. При этом, планируемые оптимизации помогут им снизить и эти 10 Мб. Разработчик надеется на повышение стабильности мультипроцессного Firefox, поскольку у пользователей появится возможность отключать зависшие процессы по отдельности, без перезагрузки всего браузера.