-
Notifications
You must be signed in to change notification settings - Fork 435
Who cares about efficiency, I have a fast CPU and a lot of RAM
Doing more with less is a virtue in software. For users of uBlock, this means:
- Less CPU churn when loading a web page, which may translate into the page loading faster.
- Higher memory consumption correlates with higher CPU-cycle consumption: whatever extra memory is used is memory which has to be allocated/written to/read from (at least once)/garbage collected.
- Free to use more filter lists:
- For instance, ABP warns against using too many filter lists: "It is important to note that you should not add too many filterlists to Adblock Plus"
- Longer battery life: each time unit, however small, in which the CPU is idle rather than churning translates into extended battery life.
- Free to use a blocker on less powerful devices.
- For instance: Reddit: "ABP was a significant burden on my CPU"
- Free to add more useful features.
- Free to use more browser extensions.
Memory and CPU cycles are finite resources. A sure way for a developer to not be hired when being interviewed is to dismiss efficiency work because "memory is plentiful" or "CPU nowadays are fast enough".
"Come on people, we are buying our hardware precisely for this - to be used" [source]
Using more than needed is not the same as using.
Not convinced yet? Try this online tool to compare how fast web pages load when using one blocker compared to another.
If you have a multi-core CPU with few other processes running (and hence plenty of spare CPU cycles), there may not be much of difference in page loading speed, but other popular blockers will definitely use more CPU cycles (see below) to perform the same job as uBlock.
CPU overhead
Memory footprint