7 ms·
I don't know what to conclude about ad blocker perf from Speedometer, but it's not just creation/deletion of DOM nodes. It runs multiple implementations of Todo
by om2 6y ago
I don't know what to conclude about ad blocker perf from Speedometer, but it's not just creation/deletion of DOM nodes. It runs multiple implementations of TodoMV using various JS frameworks[1, and performs real operations in the web app. DOM is not the bottleneck. The test stresses many parts of the engine, JS, CSS, HTML, rendering, etc.
Google's V8 team (not the original creators of Speedometer, that was WebKit) did a study of real-world JavaScript and found that it was highly correlated with Speedometer[2]. It's likely to be a good proxy of load time and responsiveness for many web sites, especially ones built with modern JS frameworks.
I don't know why uBlock Origin would slow down Speedometer and I'm actually surprised to hear it's true.
[1] https://browserbench.org/Speedometer2.0/ https://browserbench.org/Speedometer2.0/ , click on "about Speedometer
[2] https://blog.chromium.org/2017/04/real-world-javascript-performance.html https://blog.chromium.org/2017/04/real-world-javascript-perf...
- gorhill 6y agoCare to comment about the debugbear benchmarks? Why is the supposed undue overhead as per SpeeDOMeter not showing up in there? I encourage whoever to actually speculate less and measure page load times from the top 500 Alexa and make the case that uBO is an issue CPU- and memory-wise. I confidently predict that you will find that there is no correlation to the SpeeDOMeter benchmark. There are other 3rd-party benchmarks out there which also found that uBO does indeed save CPU and memory resources.[1][2][3] * * * [1] https://twitter.com/gorhill/status/1246085758580142081 https://twitter.com/gorhill/status/1246085758580142081 [2] https://twitter.com/adildean/status/936183316134416384 https://twitter.com/adildean/status/936183316134416384 [3] https://www.raymond.cc/blog/10-ad-blocking-extensions-tested-for-best-performance/view-all/ https://www.raymond.cc/blog/10-ad-blocking-extensions-tested...
- bluedays 6y agoAlright, cool. I admire your work, gorhill, I do. However I'm not convinced of your results. Lets go ahead and run some benchmarks. First, would you mind tell me how you can about your results? I'm specifically interested in your results here: https://www.debugbear.com/blog/2020-chrome-extension-performance-report#performance-impact-of-ad-blockers https://www.debugbear.com/blog/2020-chrome-extension-perform... How did you come about your results? Did you use selenium? Or did you catalog all the data by hand? Also, do you have the data available? I'm going to run the tests myself, and any insight would be appreciated. I would especially appreciate it if you could allow me to review the data you have on hand but I understand if you don't want to provide it. Also, slightly beside the point but is Raymond.cc your site? Just curious. Thanks for your help!
- om2 6y ago> Care to comment about the debugbear benchmarks? Why is the supposed undue overhead as per SpeeDOMeter not showing up in there? I'm not familiar with what you mean by debugbear benchmarks. If you mean the content linked here: https://twitter.com/gorhill/status/1273263792785326085 https://twitter.com/gorhill/status/1273263792785326085 Then my explanation would be that these measurements measure different things than Speedometer. CPU time is a power metric, First Contentful Paint is a page load speed metric, memory is a memory metric, none of these are web app responsiveness measurements. All of these data points can be true at the same time! Personally, I would expect any content blocker that does a lot of blocking to speed up page load, reduce memory use, and save power, because less stuff loads and less stuff gets processed. That any ad blocker would reduce Speedometer score is kind of a surprise to me, but if it's real, I believe it. I really have no stake in which ad blocker is best or more efficient. I just wanted to clarify what Speedometer does, and why it's a relevant measurement.