Оценка влияния на производительность популярных дополнений к Chrome
20 июня 2020 года
Опубликованы результаты исследования влияния на производительность браузера тысячи наиболее популярных дополнений к Chrome. Показано, что некоторые дополнения могут достаточно сильно влиять на производительность и создавать большую нагрузку на систему, а также в разы увеличивать потребление памяти. При тестировании оценивалось создание нагрузки на CPU в активном и фоновом режимах, потребление памяти и влияние на скорость отображения открываемых страниц. Результаты представлены в двух выборках, охватывающих 100 и 1000 самых популярных дополнений.
Из 100 самых популярных дополнений наиболее сильно нагружающими CPU признаны дополнения "Evernote Web Clipper" (4 млн пользователей) и "Grammarly" (10 млн пользователей), которые приводят к трате дополнительных 500 мс процессорного времени при открытии каждой страницы (для сравнения открытие тестового сайта без дополнений расходует 40 мс).В общем виде 20 дополнений потребляют больше 100 мс, а 80 меньше 100 мс. Из неожиданных открытый стало относительно большое потребление ресурсов дополнением Ghostery, съедающим 120 мс времени CPU. Менеджер паролей LastPass съедал 241 мс, а Skype - 191 мс. Указанные ресурсы не приводят к остановке отрисовки, но блокируют начало взаимодействия со страницей и влияют на потребление энергии устройством.
При выборке из 1000 дополнений встречаются дополнения, создающие существенно более ощутимую нагрузку:
В тесте на задержку отрисовки страницы дополнения Clever, Grammarly, Cash Back for Shoping, LastPass и AVG замедляли открытие на 150-300 мс, в некоторых случаях внося задержки сопоставимые с отрисовкой самой страницы. В целом ситуация нормальная, так как из 100 дополнений только 6 приводят к задержке более 100 мс.
Результаты выборки из 1000 дополнений:
При оценке нагрузки на CPU, создаваемой при выполнении дополнением фоновых операций, проявило себя дополнение Avira Browser Safety, которое потратило почти 3 секунды времени CPU, в то время как затраты других дополнений не превышали 200 мс. Так как фоновый режим обычно используется для обработки сетевых запросов, выполняемых в процессе открытия страницы, тест был повторён на сайте apple.com, который делает 50 запросов вместо одного. Результаты изменились и в лидеры по созданию нагрузки выбился Ghostery, а Avira Browser Safety сместился на 9 место (разбор показал, что нагрузка снизилась из-за присутствия сайта apple.com в белом списке).
Результаты тестов 1000 дополнений:
- В тесте на потребление памяти первое место заняло дополнение Avira Browser Safet, потребление памяти которым составило 218 МБ (из-за обработки более 30 тысяч регулярных выражений, хранимых в памяти). На втором и третьем местах оказались Adblock Plus и Adblock, потребляющие чуть меньше 200 МБ. Замыкает 20 худших по потреблению памяти - uBlock Origin, съедающий менее 100 МБ (при сравнении с другими блокировщиками рекламы, у uBlock Origin одно из самых низких потребления памяти, см. ниже сравнение блокировщиков).
20 худших показателей при тестовании 1000 дополнений:
Так как часто пользователь списывает низкую производительность и возникающие задержки на браузер, а не на установленные дополнений, компания Google начала (Архивная копия от 21 июля 2020 на Wayback Machine) эксперименты с информированием о проблемных дополнениях. В стабильном выпуске Chrome 83 появилась настройка "chrome://flags/#extension-checkup", включающая вывод информационных сообщений о возможном влиянии дополнений на конфиденциальность и производительность. При включении опции на странице новой вкладки и в менеджере дополнений начинает показываться предупреждение о том, что дополнения могут привести к потреблению значительных ресурсов или получить доступ к персональным данным и активности пользователя.
Отдельно проведено сравнение дополнений для блокировки рекламы и обеспечения конфиденциальности, в контексте экономии ресурсов за счёт блокирования внешних скриптов и рекламных вставок. Все дополнения обеспечили снижение нагрузки как минимум в три раза при обработке тестовой статьи из одного из новостных сайтов. Лидером стало дополнение DuckDuckGo Privacy Essentials, при использовании которого нагрузка при открытии тестовой страницы снизилась с 31 сек до 1.6 сек времени СPU за счёт снижения числа сетевых запросов на 95% и размера загружаемых данных на 80%. Близкий результат показал uBlock Origin.
DuckDuckGo Privacy Essentials и uBlock Origin также оказались лучшими при оценке потребления ресурсов при выполнении фоновых операций.
При тестировании потребления памяти, DuckDuckGo Privacy Essentials и uBlock Origin позволили снизить расход памяти с 536 MB при полной обработке тестовой страницы до ~140 MB.
Аналогичное тестирование проведено для дополнений для web-разработчиков. Нагрузка на CPU:
Нагрузка на CPU при выполнении фоновых операций
Задержки отрисовки:
Потребление памяти:
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.