A study published Friday analyzed the performance of Chrome ad blocker extensions. It proved wrong Google developers’ claims last month, when they decided to modify the Chrome browser to end ad blockers and other extensions.
The Ghostery ad blocker team found that ad blockers had sub-millisecond effect on Chrome network requests. The impact is barely a performance hit.
- All content-blockers except DuckDuckGo have sub-millisecond median decision time per request.
- Time to Process a Request in Ghostery (median): 0.007 ms
- 2.7x faster than uBlock Origin
- 2.9x faster than Adblock Plus
- 6.3x faster than Brave‘s Adblocker
- 1258.4x faster than DuckDuckGo‘s adblocker
- Loading Ghostery’s Blocking Engine (from cache): 0.03 ms
- 368x faster than Brave‘s Adblocker
- 588x faster than uBlock Origin
- 3575x faster than Adblock Plus
- DuckDuckGo‘s adblocker does not offer serialization, so the loading cost is always the one from parsing the lists.
- Memory Consumption of Ghostery’s Blocking Engine (at startup, in Chrome): 1.8 MB
- 1.6x less memory than uBlock Origin
- 8.4x less memory than Adblock Plus
- 8.8x less memory than DuckDuckGo‘s adblocker
- The memory usage of Brave could not be evaluated using the devtools and thus is not included in this section.
A few hours after they published the study, the Chrome team reversed their plans.
Ghostery’s benchmark into ad blocker performance roots on Google’s new standard for developing Chrome extensions: Manifest V3.
The wordy document discussed several rules on what Chrome functions and APIs extensions have to use.
One modification explained regulations on how extensions must intercept and work with network requests. The search giant wanted developers to use the DeclarativeNetRequest API over the webRequest API.
This DeclarativeNetRequest API throttled the number of network requests an extension could access. Ad blocker developers caught on. And they struck back.
Extension developers and regular users accused Google of ending third-party ad blockers in favor of its own embedded Chrome ad blocker. Its ad blocker uses the DeclarativeNetRequest API and has no throttling issue whatsoever.
Chrome engineers warranted the change using the effect on performance of not having a maximum number of network requests extensions could access.
The Ghostery team disagreed.
– Cliqz, the company behind the Ghostery ad blocker
The study found sub-millisecond average decision times per request. It was the opposite of the Chrome team’s claims. And it analyzed the network performance of multiple ad blockers, including Ghostery, uBlock Origin, Adblock Plus, DuckDuckGo, and Brave.
Hours after the study went online, Google engineers announced on Google Groups a letup of Manifest V3 changes that would have hit ad blockers.
Another clarification is that the webRequest API is not [sic] going to be fully removed as part of Manifest V3. The extensions ecosystem on Chrome is vibrant and varied, and enables myriad use cases that would otherwise be impossible.
We are committed to preserving that ecosystem and ensuring that users can continue to customize the Chrome browser to meet their needs. This includes continuing to support extensions, including content blockers, developer tools, accessibility features, and many others. It is not [sic], nor has it ever been, our goal to prevent or break content blocking.
– Chrome engineer Devlin Cronin
Regular users have accustomed to using ad blockers. These extensions may have certain performance impact, but it is a small risk against the benefits they get from it.
An earlier study from Ghostery found that webpages load up faster when using ad blockers.