mirror of
https://github.com/gorhill/uBlock.git
synced 2024-11-16 15:33:38 +01:00
Updated Memory footprint: what happens inside µBlock after installation (markdown)
parent
7dafbc39a2
commit
fa540d658e
@ -1,28 +1,28 @@
|
||||
1. µBlock will load the default selection of filter lists:
|
||||
1. uBlock 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
|
||||
1. **A few minutes later**, µBlock will look whether one or more filter lists need to be updated
|
||||
1. If one or more filter lists need to be updated, µBlock will launch a background task which will fetch an updated version of whatever filter list is deemed obsolete
|
||||
1. Once all filter lists are brought up to date, µBlock will flush from memory all filters and reload with the latest version
|
||||
- All this short-term memory churning causes uBlock's baseline memory footprint to grow further
|
||||
1. **A few minutes later**, uBlock will look whether one or more filter lists need to be updated
|
||||
1. If one or more filter lists need to be updated, uBlock will launch a background task which will fetch an updated version of whatever filter list is deemed obsolete
|
||||
1. Once all filter lists are brought up to date, uBlock 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
|
||||
- Again, all this short term memory churning causes uBlock's baseline memory footprint to grow further
|
||||
- You can disable auto-update if you want, but it is optimal to let µBlock take care of this, i.e. manually forcing an update is sub-optimal
|
||||
1. **A few minutes later**, assuming no change in selection of filter lists, or change in the content of selected filter lists, µBlock will make a selfie
|
||||
1. **A few minutes later**, assuming no change in selection of filter lists, or change in the content of selected filter lists, uBlock 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
|
||||
1. 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.
|
||||
1. µBlock's much smaller _contributed memory_ footprint to web pages is much smaller than that of ABP
|
||||
- Again, this short term memory churning causes uBlock'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 uBlock's selfie
|
||||
1. Even after the growth in memory baseline, uBlock's _own memory_ footprint is still quite smaller than that of Adblock Plus -- once the garbage collector does its job.
|
||||
1. uBlock'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 an extension'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.
|
||||
- Though this measure is not readily visible, it's where you get the biggest bang for the buck with µBlock relative to ABP -- because uBlock **does not** inject thousands of CSS rules into pages and embedded frames.
|
||||
|
||||
Now if you have reached the point where there is a valid µBlock selfie, this is when µBlock will run the most efficiently.
|
||||
Now if you have reached the point where there is a valid uBlock 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 <sup>[1]</sup>, and µBlock's baseline memory footprint will be smaller than when µBlock launches without a selfie available.
|
||||
The next time you launch uBlock and there is a valid selfie, the load time will be a fraction of the load time when no selfie is available <sup>[1]</sup>, and uBlock's baseline memory footprint will be smaller than when uBlock 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 more efficiently than what you may have observed right after you installed it.
|
||||
So my point is that uBlock will perform best efficiency wise if you leave it time to optimize itself after installation: In subsequent launches, uBlock will perform more efficiently than what you may have observed right after you installed it.
|
||||
|
||||
<sub>[1] See <https://www.youtube.com/watch?v=BpypOeK10N8></sub>
|
||||
***
|
Loading…
Reference in New Issue
Block a user