Comment by xg15
6 hours ago
> I did some research to find why this took so long. 13 years ago, extensions.json used to be extensions.sqlite. Nowadays, extensions.json is serialized and rewritten in full on every write debounced to 20 ms, which works fine for 15 extensions but not 84,194.
I'm slightly worried how they arrived at that debounce value. Which extensions need to write to extensions.json continuously, several times a second?
I don’t think extensions ever write that file; Firefox writes it whenever its in-memory set of installed extensions is updated.
When Firefox finds new extensions, it updates the in-memory set for each of them.
In the typical case that series of updates will be small, and the denounce makes it likely the file gets written only once.