Chrome и Firefox с 30 вкладками. Как проверить, кто экономит больше памяти
Как сравнить Chrome и Firefox на 30 вкладках, выбрать метрику памяти и замерить время возврата к выгруженным страницам.
Один браузер может выгрузить часть фоновых вкладок и показать меньший расход памяти. Цена этой экономии проявится при возврате к вкладке: страницу иногда приходится загружать снова. Поэтому для сравнения Chrome и Firefox нужны две цифры: сколько памяти заняли браузеры и сколько пришлось ждать после переключения.
Chrome освобождает память за счёт неактивных вкладок
Google описывает Memory Saver как режим, который деактивирует неиспользуемые вкладки и снова загружает их при возвращении. Страницы с видео, звонком или активной загрузкой могут оставаться в памяти. Для сайтов, на которых важна постоянная работа в фоне, можно задать исключения.
Firefox реагирует на нехватку памяти и при необходимости выгружает вкладки. Начиная с Firefox 140 их также можно выгружать вручную через контекстное меню. Поэтому у теста два отдельных сценария: поведение сразу после установки и эффект режима, который пользователь включает сам.
Как поставить сравнение на одном компьютере
Подготовьте одинаковый список из 30 адресов. Например, десять страниц документации, десять длинных статей, пять тяжёлых веб-приложений и пять страниц с медиа. Используйте чистые профили без расширений, открывайте сайты в одинаковом порядке и сохраняйте один и тот же набор фоновых приложений. Не запускайте оба браузера одновременно.
Для каждого прогона запишите версию браузера, объём ОЗУ, режим экономии памяти и время загрузки. После открытия всех страниц снимите суммарную память процессов браузера в системе, затем повторите замер через 15 минут. Переключитесь на пять заранее выбранных фоновых вкладок и замерьте время до момента, когда с каждой можно снова работать. Три прогона дадут медиану и покажут, насколько результат гуляет между повторами.
Какие вкладки имеют шанс остаться в памяти
У Chrome есть три уровня Memory Saver: умеренный, сбалансированный и максимальный. Они влияют на то, насколько активно браузер деактивирует вкладки. В тесте с 30 открытыми страницами одна остаётся на переднем плане, а 29 уходят в фон. В повседневной работе среди фоновых вкладок обычно есть документы с несохранёнными изменениями, музыка или звонок. Chrome учитывает активность такого рода, поэтому результат меняется от набора страниц.
В Firefox ручную выгрузку удобно проверять на группе вкладок с документацией. Mozilla описывает выбор нескольких вкладок через Ctrl в Windows и Linux и Command в macOS. Выгруженная вкладка остаётся в панели, а её содержимое придётся загрузить при возвращении. Для сравнения важно записать способ выгрузки. Автоматическое срабатывание при нехватке памяти и ручное действие по команде пользователя воспроизводятся по разным правилам.
Если задача состоит в том, чтобы выбрать браузер для работы, начните с привычной нагрузки. Откройте несколько страниц документации, два проекта в веб-интерфейсе и набор статей, которые вы обычно держите на потом. Сохраните адреса и назначение каждой страницы. Тогда другой человек сможет повторить ваш сценарий, а вы сами сможете повторить его после обновления браузера.
Что именно считать памятью браузера
У современного браузера несколько процессов. Страницы, графика и служебные задачи могут занимать память отдельно. Встроенный диспетчер хорошо отвечает на вопрос, какая вкладка или расширение выделяется на фоне остальных. Для сравнения двух браузеров лучше взять одну системную метрику и применять её к обоим. Если сложить показатели из двух внутренних диспетчеров, в итог могут попасть разные виды памяти.
На Windows можно использовать частный рабочий набор, то есть физическую память, которую процесс держит для себя. В документации Chromium объясняется, почему эта метрика полезна для воспроизводимого сравнения. Если смотреть общий рабочий набор каждого процесса, общие страницы памяти могут учитываться несколько раз. Сначала снимите исходный показатель без браузера, затем используйте одну и ту же колонку для всех его процессов. Отдельно запишите свободную память системы, если хотите понять, возникало ли давление на память.
Встроенный диспетчер Firefox показывает процессы и связанные вкладки. Его имеет смысл открыть после общего замера, когда уже видно, что браузер занял больше обычного. Например, вы можете заметить, что основную разницу даёт одна видеостраница. Тогда вынесите её в отдельный сценарий. Так сравнение не будет зависеть от того, какой ролик сайт успел включить в конкретном прогоне.
Как исключить случайности из трёх прогонов
В тесте с живыми сайтами будут меняться реклама, видео и скорость сети. Записывайте, какие страницы успели загрузиться, какие вернули ошибку и где появилась форма входа. Смена состояния одной тяжёлой веб-страницы может изменить итог сильнее, чем переключение режима экономии памяти. Для повторяемого прогона удобно оставить часть набора на локальных страницах, где состав изображений и скриптов одинаков.
Сделайте прогоны в чередующемся порядке. Например, начните с Chrome, затем проведите Firefox, а следующую пару начните с Firefox. Дайте предыдущему браузеру полностью закрыться. Отдельно решите, используете ли холодный профиль или прогретый кеш. Холодный прогон показывает первый запуск с новым профилем, прогретый ближе к повторному открытию привычных страниц. Если смешать их, в цифры памяти и времени попадёт разница между самими сценариями.
У задержки возврата должен быть конкретный конец. Для статьи это момент, когда виден текст. Для интерактивного приложения можно дождаться, когда поле или кнопка снова реагируют. Запишите критерий для каждой из пяти выбранных вкладок. Появление заголовка окна происходит раньше восстановления приложения и само по себе мало говорит о том, когда можно продолжить работу.
Когда настройки дадут больше, чем переход на другой браузер
Посмотрите на табличку с прогоном и выберите одну проблему. Если память занята одной вкладкой с тяжёлым приложением, начните с неё и проверьте, нужно ли держать её открытой весь день. Если больше всего времени теряется при возврате к документу, добавьте его в исключения Chrome или оставьте в числе вкладок, которые не выгружаете вручную. Если расход растёт после установки расширения, повторите тест с чистым профилем и включайте расширения по одному.
Наконец, задайте предел, при котором разница станет важна для вашей работы. На компьютере с небольшой памятью лишние сотни мегабайт могут мешать сборке или запуску контейнеров. На другом ПК этот запас не влияет на обычную работу, зато заметны повторные загрузки. Для этого в протоколе и нужны обе метрики.
Оставьте одинаковую вкладку на переднем плане в обоих браузерах и запишите, какая это страница. Если в одном прогоне активен видеозвонок, а в другом открыт статичный документ, сравнение захватит ещё и разницу в нагрузке. Для отдельного теста с видео сохраните источник, качество воспроизведения и положение вкладки. Тогда результат покажет, как браузер ведёт себя именно во время работы с медиа.
Как понять, что экономия заметна в работе
Меньше занятой памяти полезно, если одновременно открыты IDE, контейнеры или другая тяжёлая программа. Но если при каждом возврате документация перезагружается, к показателю ОЗУ нужно добавить время ожидания. Поэтому в итоговой таблице рядом должны стоять память после 15 минут, число перезагрузившихся вкладок и задержка возврата.
Начните с настроек по умолчанию, затем повторите прогон с включённой экономией в Chrome и ручной выгрузкой одинакового набора вкладок в Firefox. Эти результаты отвечают на разные вопросы: что браузер сделает сам и сколько памяти можно вернуть вручную.