Re: SessionStore size - Bloat in sessionstore.js from Google and others causing major UI freezes
Randell Jesup <[email protected]> Tue, 19 Jul 2011 17:29:16 -0400
| Newsgroups | gmane.comp.mozilla.performance |
|---|---|
| Message-ID | <[email protected]> |
On 7/19/2011 11:46 AM, Mike Shaver wrote: >> e) Push the processing of the per-tab data over to a background >> thread/process. >> >> May play into work with Electrolysis. Not necessarily at odds with >> other options above. Fetching data from each tab would be the >> primary UI-blocker, > > IMO, that's not really OK long term (e10s-term) -- the tabs will need > to report their state back to chrome, so that the blocking goes the > other way. Right - I didn't know the E10s architecture yet (on my list...) ;-) >> Others? Any ideas out there? > > File-per-tab containing all the data for that tab, maybe? Or two > files per tab, to avoid re-writing the big sessionstorage data every > time, if it doesn't change that often. This would let us write out > the current tab more frequently than background tabs, as well. [ Hi Mike. Long time no chat :-) ] That can be done with many of these ideas, especially the DB-based ones. And file-per-tab is pretty much the same as a DB, it's just filesystem-as-dumb-DB. :-) Not that it's necessarily bad. Kyle (in .platform - that will teach me to cross-post) and Taras suggested LevelDB over SQLite (we don't really need much in the way of complexity here, mostly just safety against crashes and large blob storage - which may speak to files, since filesystems are good at that). An intern has expressed interest in trying some of the options proposed. I dropped some dumb testcode in the bug to help. -- Randell Jesup, Mozilla Corporation Remove ".news" for personal email