Google ads revenue 2021: 209 billion out of 256 billion, 80%
Apple ads revenue 2021: $3.7 billion of 365 billion, 1%
We further need to understand the difference between operating an ad exchange:
https://www.eff.org/deeplinks/2020/03/google-says-it-doesnt-...
And allowing first party and purchased ads for products within a marketplace the user is already visiting:
https://searchads.apple.com/help/get-started/0001-compare-ap...
They can only be validly compared once this is true of both ad services:
> [Ad service] doesn’t buy or share users’ personal information with other companies. We don’t track people by linking user or device data collected from [first party] apps with user or device data collected from third parties for advertising targeting or measurement. And we don’t share user or device data with data brokers.
https://searchads.apple.com/privacy
Not saying they’re “all good”, just “least worst”.
Scroll down in the second link to see what Apple do gather and use for targeting. Unhappily, the user consent more about personalization than about aggregation in the first place. Note also the missing word “sell” in “doesn’t buy or share”, perhaps they think sell is implied by share, but also perhaps not.
It is also possible for the above, and collusion to all simultaneously happen, and or Apple advancing their own ad business.
It won't be more private if ads slip through, or if the whole web experience is degraded and users prefer native apps.
If you optimize the rules engine - which you can definitely do - you can skip evaluating most of those regexes, you can evaluate them in parallel, etc. You could start preparing the request and only gate the actual tcp packets on approval from the ad blocker. You could cache the approve/deny state for each URL so that the ad blocker overhead is only paid on first visit to a site. There are lots of ways to make this stuff super fast without breaking it, but Google and Apple don't want to do the work.
People like the uBlock Origin author have already demonstrated in the past that their ad blockers are fast despite the severe limitations of current browser extension APIs. If browser vendors actually supported extension developers ad blockers could probably become faster. Instead they're attacking them and forcing people to move over to intentionally sabotaged APIs with limited feature sets and arguing that now things will be "faster" even though you're going to be wasting resources downloading a bunch of ads.
On WebKit, you can still use WebRequest to intercept and log all traffic, you just can't block it. I don't think that intercepting/recording all traffic and selectively blocking it would have a meaningful difference compared to just intercepting it all and letting it through.