Новый Firefox стал многопоточным и быстрым
Firefox 54 обрабатывает веб-контент не в один поток, а в четыре, что должно сделать его быстрее и предотвратить зависание всех вкладок одновременно. В Firefox 55 пользователь сможет увеличить количество потоков до семи. От политики «одна вкладка = один поток» разработчики отказались ради экономии оперативной памяти.
Многопроцессный Firefox 54
Mozilla выпустила Firefox 54 – первую полностью многопроцессную, а значит более быструю версию своего браузера. До этого весь веб-контент обрабатывался в один поток, теперь обрабатывается в четыре потока. Каждому потоку выделяется своя оперативная память и свои ресурсы процессора. Благодаря этому Firefox будет работать быстрее, а зависание одной из вкладок перестанет приводить к зависанию всех остальных.
Нововведение является логичным шагом в развитии проекта Electrolysis, или e10s, в рамках которого Mozilla постепенно превращает Firefox в многопроцессный браузер. В августе 2016 г. компания выпустила Firefox 48, в котором выделила в отдельный процесс обработку пользовательского интерфейса, благодаря чему он продолжал работать доже при зависании вкладок. Однако контент все еще обрабатывался в один поток.
Сравнение с Chrome
Поскольку рост количества процессов приводит к большему расходу оперативной памяти, Firefox не будет обрабатывать каждую вкладку как отдельный поток. Количество потоков контента ограничено до четырех, в отличие, например, от Chrome, который открывает новый процесс для каждой вкладки, занимая все больше и больше памяти. В Firefox 54, по мнению разработчиков, был найден оптимальный баланс между скоростью и памятью.
По данным тестов Mozilla, версия Chrome для Windows требует в 1,77 раза больше оперативной памяти, чем 64-битная версия Firefox, и в 2 раза больше, чем 32-битная версия. В macOS Chrome использует в 1,36 раз больше памяти, чем 64-битный Firefox, и в 1,42 больше, чем 32-битный.
Планы на будущее
В версии Firefox 55 количество потоков по умолчанию будет равняться четырем, но пользователь сможет по своему желанию увеличить их число до семи, воспользовавшись строкой dom.ipc.processCount в about:config.
Firefox 54 стал быстрее за счет обработки контента в 4 потока
Помимо этого, Mozilla развивает проект Quantum, в рамках которого собирается оптимизировать движок браузера к концу 2017 г. Оптимизация приспособит Firefox к работе с многоядерными процессорами и улучшит работу графических чипов с потоками контента.
Другие изменения в Firefox 54
В Firefox 54 Mozilla продолжила внедрение кросс-браузерных WebExtension API, которые в Firefox 57 станут единственными API, доступными для дополнений. С помощью WebExtension теперь можно создать кастомную панель инструментов DevTools. Кроме того, WebExtension может теперь заменить или кастомизировать страницу новой вкладки.
Помимо этого, изменилось отображение статуса загрузки, которое стало более информативным. Также появилась функция создания и сохранения собственных устройств пользователя в Responsive Design Mode. Кроме того, браузер прекратил поддерживать HTTP/1 Pipelining, в планах разработчиков скорый переход на HTTP/2.