- PVSM.RU - https://www.pvsm.ru -

А сейчас появились доказательства, что Firefox не только быстрее, но и эффективнее Chrome по некоторым параметрам. В частности, по работе с памятью.
Если напомнить предысторию, то примерно год назад вышли результаты стандартных тестов Speedometer, измеряющих скорость работы браузеров. Тогда случилось знаковое событие: впервые в истории Firefox обошёл Chrome по производительности [2].
Это значительное событие на фоне того, что с момента своего выхода в 2008 году Chrome отличался высокой производительностью, а Firefox выглядел тяжеловесным и страдал от утечек памяти. Но постепенно Mozilla исправила ситуацию [3]. В результате в 2023 году браузеры поменялись местами по скорости работы.
После выхода новой версии тестов Speedometer 3.0 [4] результаты подтвердились [1].

Типичные задачи тестирования Speedometer включают рендеринг и анимацию, преобразования DOM, операции со строками, математические вычисления, алгоритмы сортировки, тесты графической производительности и инструкции по работе с памятью.
Speedometer — это опенсорсный проект [5], который развивается при участии разработчиков браузерных движков Apple, Google, Mozilla и сотен независимых разработчиков. Каждый тест Speedometer реализует одно и то же приложение, используя DOM API по-разному. Некоторые вызывают DOM API непосредственно из ECMAScript 5 (ES5), ECMASCript 2015 (ES6), ES6, транспилированного в ES5, и Elm, транспилированного в ES5. Другие используют один из одиннадцати популярных JavaScript-фреймворков, которые де-факто работают на самых популярных сайтах в интернете. Производительность подобных операций зависит от скорости работы DOM API, движка JavaScript, разрешения стилей CSS, вёрстки и др.
Результаты бенчмарков Speedometer 3.0 показывают, что на июль 2024 года Firefox сохраняет преимущество перед Chrome по производительности [2]: 208,13 балла против 195,31.

Если посмотреть результаты за последние два года, то можно увидеть одновременно увеличение производительности Firefox и Chrome, то есть браузеры ведут параллельную работу по оптимизации, но с преимуществом первого.
Недавно одна из программисток в социальной сети X (бывш. Twitter) пожаловалась [6], что не может восстановить старую сессию в Firefox, которая продолжалась более двух лет и к настоящему моменту насчитывала 7470(!) вкладок.

Читатели её аккаунта в X помогли восстановить вкладки из кэша профилей, за что она им сильно благодарна, потому что на вкладках хранилась куча полезной и нужной информации: «Словно часть моей личности была восстановлена», — призналась [7] она. Девушка оставляет вкладки открытыми по причинам ностальгии, она любит «путешествовать в прошлое» по глубинам памяти и смотреть на кластеры страниц, которые открывала в браузере месяцы назад.
По итогу выяснилось, что файл сессии с информацией обо всех вкладках весил всего около 70 МБ [8], а Firefox загружает вкладку в оперативную память только в момент её открытия. Такой механизм работы позволяет открывать бесконечное количество вкладок и держать их открытыми практически бесконечное количество времени. В принципе, аналогичный механизм реализован и в других браузерах, что устраняет значительную часть проблем с оперативной памятью, хотя и замедляет переключение между вкладками.
Если в прошлом подобная история казалась бы невозможной из-за утечек памяти Firefox, то сейчас эту проблему решили. В самом деле, утечкам и очистке памяти посвящено несколько из списка исправленных багов [9], например, баги 1879437 [10] и 1814808 [11]. Представитель Mozilla подтвердил, что благодаря сделанным усовершенствованиям теперь можно открывать тысячи вкладок в Firefox практически без расходования лишней памяти: «Мы много работали над производительностью Firefox в последние нескольких лет, и мы рады видеть, что результаты этих усилий приносят плоды», — сказал [12] он.
Из комментариев в аккаунте программистки также выяснилось, что у некоторых пользователей даже в мобильном браузере открыто гораздо больше вкладок [13] вплоть до 24 166 штук (правда, неизвестно, насколько долго там сохраняется сессия):

Если раньше Firefox мог упасть от нескольких десятков открытых вкладок, то теперь выдерживает тысячи и десятки тысяч на протяжении нескольких лет. Говорят, в данном отношении Firefox значительно эффективнее Chrome.
Это полностью меняет логику работы с браузером. Закладки становятся практически бессмысленными, если можно сохранять табы, группировать их по темам и сохранять содержимое на будущее. Есть отличные расширения вроде Simple Tab Groups [14], OneTab [15] и Tab Session Manager [16] для управления и сохранения состояния окон и вкладок браузера:

Они ещё и очищают память:

Табы лучше закладок ещё и потому, что их содержимое сохраняется на диск и никуда не пропадёт, в то время как страница по ссылке может уже исчезнуть из онлайна. Средний срок жизни веб-страниц всего несколько лет.
Сейчас в Mozilla работают [17] над новыми функциями, причём приоритет отдаётся тем, которые по опросам наиболее затребованы среди пользователей:
Продолжается работа над повышением производительности и скорости.
Целевые показатели по оптимизации производительности:
Кроме скорости, не менее важно повышать доступность веб-контента, то есть одинаковое отображение сайтов во всех браузерах. Для этого Mozilla работает с проектом Interop [18], который выявляет самые проблемные места, где различия между разными браузерами и браузерными движками наиболее влияют на отображение контента. И помогает разработчикам избежать или сгладить эти различия, а разработчикам браузеров — исправить недостатки.
На диаграмме [19] показано, что совместимость браузеров — основная головная боль, в частности, при написании CSS:

Опрос CSS Pain Points [19]
Interop — важный инструмент для Открытого веба, которому, как известно, сейчас угрожает монополия браузерного движка от Google. Монополия — крайне опасное явление, потому что в условиях сильного доминирования одного игрока веб-разработчики могут уделять меньше внимания совместимости своих веб-сайтов в других движках/браузерах, а то и вовсе не проверять корректность их работы там, как это было в 90-е годы с монополией IE.
Как и все остальные, Mozilla испытывает разные функции ИИ, некоторые из них будут встроены в браузер. Например, в последних версиях Nightly экспериментируют [20] с чатботом в боковой панели, анализом выделенного текста (смысловая выжимка, упрощение лексики) и др.:

Nightly можно сконфигурировать использование любой LLM-модели и провайдера (для начала доступны ChatGPT, Google Gemini, HuggingChat и Le Chat Mistral) и даже на локальный запуск модели на компьютере пользователя [21] для повышенной конфиденциальности, чтобы не отправлять запросы внешнему провайдеру.
Скоро эти функции, вероятно, перейдут в основную версию.
Автор: Анатолий Ализар
Источник [23]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/firefox-2/392697
Ссылки в тексте:
[1] результаты тестов Speedometer 3.0: https://habr.com/ru/companies/ruvds/articles/805651/
[2] Firefox обошёл Chrome по производительности: https://treeherder.mozilla.org/perfherder/graphs?timerange=31536000&series=mozilla-central,3735773,1,13&series=mozilla-central,3412459,1,13
[3] исправила ситуацию: https://blog.nightly.mozilla.org/2023/04/14/dropping-the-banner-hammer-and-more-these-weeks-in-firefox-issue-134/
[4] Speedometer 3.0: https://browserbench.org/Speedometer3.0/
[5] опенсорсный проект: https://github.com/WebKit/Speedometer/tree/main
[6] пожаловалась: https://x.com/sodiumPen/status/1785152049811730943
[7] призналась: https://x.com/sodiumPen/status/1785302403039764665
[8] всего около 70 МБ: https://x.com/sodiumPen/status/1785306770224603556
[9] списка исправленных багов: https://bugzilla.mozilla.org/buglist.cgi?bug_status=RESOLVED&classification=Client%20Software&classification=Developer%20Infrastructure&classification=Components&classification=Server%20Software&classification=Other&resolution=FIXED&status_whiteboard=%5Bsp3%5D&status_whiteboard_type=allwordssubstr&order=bug_id
[10] 1879437: https://bugzilla.mozilla.org/show_bug.cgi?id=1879437
[11] 1814808: https://bugzilla.mozilla.org/show_bug.cgi?id=1814808
[12] сказал: https://www.pcmag.com/news/firefox-power-user-keeps-7400-plus-browser-tabs-open-for-2-years
[13] гораздо больше вкладок: https://x.com/djxgam1ng/status/1786779015589552575/photo/1
[14] Simple Tab Groups: https://addons.mozilla.org/en-US/firefox/addon/simple-tab-groups/
[15] OneTab: https://www.one-tab.com/
[16] Tab Session Manager: https://tab-session-manager.sienori.com/
[17] работают: https://connect.mozilla.org/t5/discussions/here-s-what-we-re-working-on-in-firefox/td-p/57694
[18] Interop: https://hacks.mozilla.org/2024/02/announcing-interop-2024/
[19] диаграмме: https://2023.stateofcss.com/en-US/usage/#css_pain_points
[20] экспериментируют: https://blog.nightly.mozilla.org/2024/06/24/experimenting-with-ai-services-in-nightly/
[21] локальный запуск модели на компьютере пользователя: https://github.com/Mozilla-Ocho/llamafile
[22] воспринимая людей как продукт: https://proton.me/blog/google-shows-more-ads#:~:text=The%20people%20are%20the%20product
[23] Источник: https://habr.com/ru/companies/ruvds/articles/827170/?utm_source=habrahabr&utm_medium=rss&utm_campaign=827170
Нажмите здесь для печати.