Skip to content
This repository has been archived by the owner on Sep 9, 2022. It is now read-only.

Who cares about efficiency, I have a fast CPU and a lot of RAM

Gitoffthelawn edited this page Jun 24, 2015 · 1 revision

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:
  • 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.
  • 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
CPU overhead

Memory footprint
Memory overhead

Clone this wiki locally