-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Memory footprint: what happens inside µBlock after installation
gorhill edited this page Dec 21, 2014
·
31 revisions
- µBlock will load the default selection of filter lists:
- This causes short-term memory churning (loading/parsing/sorting/storing), which short-term memory will be garbage-collected eventually
- All this short term memory churning causes µBlock's baseline memory footprint to grow further
- After five minutes, µBlock will look whether one or more filter lists need to be updated
- If an update is needed, µBlock will flush from memory all filters and reload with the latest version
- This will causes another round of short-term memory churning, which short-term memory will be garbage-collected eventually
- Again, all this short term memory churning causes µBlock's baseline memory footprint to grow further
- After seven minutes, assuming no change in selection of filter lists, or change in the content of selected filter lists, µBlock will make a selfie
- A selfie allows µBlock to skip the parsing/sorting of data next time it loads
- Generating the selfie also causes short-term memory churning, which short-term memory will be garbage-collected eventually
- Again, this short term memory churning causes µBlock's baseline memory footprint to grow further
- Any change in the selection of filter lists, or change in the content of selected filter lists will invalidate µBlock's selfie
- Even after the growth in memory baseline, µBlock's own memory footprint is still quite smaller than that of Adblock Plus -- once the garbage collector does its job.
- µBlock's much smaller contributed memory footprint to web pages is much smaller than that of ABP
- The contributed footprint to web pages is part of the memory footprint of the web pages themselves
- As opposed to µBlock's own memory footprint, visible using Chromium's "Task Manager", the contributed memory footprint to web pages cannot be easily seen by users
- Though this measure is not readily visible, it's where you get the biggest bang for the buck with µBlock relative to ABP -- because µBlock does not inject thousands of CSS rules into pages and embedded frames.
Now if you have reach the point where there is a valid µBlock selfie, this is when µBlock will run the most efficiently.
The next time you launch µBlock and there is a valid selfie, the load time will be a fraction of the load time when no selfie is available, and µBlock's baseline memory footprint will be noticeably smaller then when µBlock launches without a selfie available.
So my point is that µBlock will perform best efficiency wise if you leave it time to optimize itself after installation: In subsequent launches, µBlock will perform noticeable more efficiently than what you may have observed right after you installed it.
uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.
- Wiki home
- About the Wiki documentation
- Permissions
- Privacy policy
- Info:
- The toolbar icon
- The popup user interface
- The context menu
-
Dashboard
- Settings pane
- Filter lists pane
- My filters pane
- My rules pane
- Trusted sites pane
- Keyboard shortcuts
- The logger
- Element picker
- Element zapper
-
Blocking mode
- Very easy mode
- Easy mode (default)
- Medium mode (optimal for advanced users)
- Hard mode
- Nightmare mode
- Strict blocking
- Few words about re-design of uBO's user interface
- Reference answers to various topics seen in the wild
- Overview of uBlock's network filtering engine
- uBlock's blocking and protection effectiveness:
- uBlock's resource usage and efficiency:
- Memory footprint: what happens inside uBlock after installation
- uBlock vs. ABP: efficiency compared
- Counterpoint: Who cares about efficiency, I have 8 GB RAM and|or a quad core CPU
- Debunking "uBlock Origin is less efficient than Adguard" claims
- Myth: uBlock consumes over 80MB
- Myth: uBlock is just slightly less resource intensive than Adblock Plus
- Myth: uBlock consumes several or several dozen GB of RAM
- Various videos showing side by side comparison of the load speed of complex sites
- Own memory usage: benchmarks over time
- Contributed memory usage: benchmarks over time
- Can uBO crash a browser?
- Tools, tests
- Deploying uBlock Origin
- Proposal for integration/unit testing
- uBlock Origin Core (Node.js):
- Troubleshooting:
- Good external guides:
- Scientific papers