Как антибаннеры влияют на работу браузера? Результаты тестов опровергают заявление Google

2019-02-18 10254
Проведенные испытания расширений Ghostery, uBlock Origin, Adblock Plus, Brave, DuckDuckGo опровергают заявления Google о негативном влиянии блокировщиков контента на производительность браузера Chrome

В январе 2019 года компания Google представила первую предварительную версию нового манифеста по работе расширений в Chrome (Google Chrome Extension Manifest).

Технологический гигант планирует ограничить доступ к webRequest API, который используется многими блокировщиками контента (антибаннерами) для блокировки элементов веб-страницы – в том числе uBlock Origin и Adblock Plus, Разработчикам будет предложен новый declarativeNetRequest API с существенными ограничениями.

В случае реализации данных изменений возможности блокировщиков контента / антибаннеров в Google Chrome будут значительно ограничены.

Google объясняет данное решение следующим образом:

Работа расширения начинается в основном процессе браузера, затем выполняется переход к процессу рендеринга самого расширения, в рамках которого расширение может выполнять произвольный (возможно, очень медленный) код JavaScript, а результаты его работы возвращаются снова в основной процесс браузера. Все это может оказывать существенное влияние на сетевые запросы, причем даже на те запросы, которые не изменяются, не перенаправляются и не блокируются расширением (потому что Chrome нужно отправить событие в расширение, чтобы определить результат).

Другими словами, Google утверждает, что расширения, использующие webRequest API, оказывают существенное негативное влияние на производительность браузера и замедляют просмотр веб-страниц.

Немецкий стартап Cliqz, который занимается разработкой одноименного браузера и владеет расширением для блокировки трекеров Ghostery, провел серию испытаний, чтобы подтвердить или опровергнуть утверждения Google.

Компания использовала большую коллекцию популярных сайтов и измерила производительность блокировщиков контента uBlock Origin, Adblock Plus, Ghostery, встроенного антибаннера Brave и блокировщика рекламы DuckDuckGo.

99% запросов Медиана
Ghostery 0.050ms 0.007ms
uBlock Origin 0.124ms (в 2.5x медленее) 0.017ms (в 2.7x медленее)
Adblock Plus 0.103ms (в 2.1x медленее) 0.019ms (в 2.9x медленее)
Brave 1.288ms (в 25.9x медленее) 0.041ms (в 6.3x медленее)
DuckDuckGo 12.085ms (в 242.5x медленее) 8.270ms (в 1258.4x медленее)

Данное тестирование выявило, что почти все блокировщики контента, за исключением DuckDuckGo, добавляли «в среднем менее 1 миллисекунды к времени принятия решения» для каждого запроса. Другими словами, влияние блокировщиков контента на производительность браузера незначительно.

Результаты теста и тестовый набор данных являются общедоступными. Конечно, можно подвергнуть критике выбор блокировщиков контента, ведь Ghostery не является полноценным блокировщиком контента, в отличие от uBlock Origin или Adblock Plus. Разработчик uBlock, Реймонд Хилл (известный под ником gorhill), повторно провел испытания и обнаружил, что Adblock Plus работает не так успешно, как об этом свидетельствуют первоначальные результаты теста.

Несмотря на то, что Google открыто упоминает именно блокировщики контента, webRequest API используется и другими расширениями. Хотя вполне понятно, что Google хочет решить проблемы с производительностью браузера, связанные с расширениями, наказание абсолютно всех за ошибки лишь некоторых может быть не лучшим вариантом действий.

Однако, окончательное решение еще не принято. Google проводит консультации по вопросам изменений и не хочет нарушить работу расширений из-за нового манифеста.

© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте