Hacker News new | ask | show | jobs
by Quai 3652 days ago
You might argue that not rendering ads is a valid method to save battery.
3 comments

Correct, it is a valid method to save a battery. It makes the comparisons invalid though, since you are not testing with the same input.
You are testing more or less the same input just producing different output. This was a common strategy where graphics cards for example would degrade image quality for speed when a driver noticed you where running a benchmark.

Which is one of the reasons benchmarks are so difficult.

PS: A more insidious problem is when you specifically optimize for something because it's a benchmark.

Not neccessarily same input - all depends how adblock works. I assumed that with adblock, my browser will not even send a request to fetch the ads, so I save on network traffic, and the browser will not have to render whatever would have been fetched - this to me is a different input (to the browser's rendering engine) than you would have without adblock.

With all this said, "proper-er" benchmark would be to show each of the browser's power consumption with or without adblock, with or without battery saver in Opera's case, all this done on a set of websites which are ad-heavy and ad-light. :)

Server sends an HTML and browser fetches what it needs. Not fetching content is simply an advanced form of caching.

More importantly even if you grab the content it's rendering that takes power downloading files is very low energy. Even just disabling auto play sound / video is going to save power.

PS: Assumptions about how browsers interact with websites is basically a failure to understand what's going on IMO. Telnet to port 80, send fetch request on a web-server and you will get HTML unless they require HTTPS.

> Server sends an HTML and browser fetches what it needs. Not fetching content is simply an advanced form of caching.

I didn't understand this part. Caching is basically "not fetching content that you already have", and I don't see how it is relevant here. I assume that when using adblocks the browser will not even issue a request to fetch the data (be it HTML, JavaScript, flash videos, images, etc.) that is ad-related, so it is not the same as caching. And even if it did choose to fetch the data but then skip rendering, it boils down to the same thing: browser engine has different (presumably smaller) input in case when you use adblock.

By telnetting I will get a response, but this is only a first step. HTML will have references to huge amount of other content that also needs to be fetched (unless everything is embedded in the HTML - possible, but unlikely for any bigger website). Open developer tools in any browser and go to network tab and see for yourself how the amount of fetched data (and number of requests / number of fetched files) differs when you use adblock and not. This is the difference in the input for the browser. Opera mentions mlive.com - with uBlock, FF fetches 2.5MB of data (caching disabled), without uBlock I get 5MB (caching disabled). We can even take the example to the extreme - let's go to the website that has only ads. Of course Opera will be better there - it will have to render nothing, everything will be blocked by adblock.

You can also cache intermediate results from calculations, the idea is don't fetch things you don't need. And as you know the result from fetching an add is going to be blank you don't need to fetch it. Much like a screen reader not downloading a JPEG.

As to downloading you can try it you self your talking fractions of a watt savings from not downloading a few Meg's.

In terms of other downloads from a page, most of that is things like tiny images which you can mostly skip. The Amazon homepage sends lots of junk but all you actually care about is the search bar and links to other areas.

and that is true - but enabling the (default disabled) ad-blocking in Opera to test comparable metrics means that Opera, in my eyes, just lost any credibility they had.

Given that even with the ad-blocker it barely beat Edge I'm almost certain they tried it initially and found the result was true so enabled this feature so they could write this fluff piece.

Of course it is. But if you care a lot about battery life, you might wonder if you should use Edge with an ad blocker or Opera, and the provided benchmarks are not very useful for determining which of those options is superior.