Closed Bug 1474130 Opened 2 years ago Closed 1 year ago
Store to C++ - stage I
content-sessionStore.js is currently loaded into every tab frameloader. Which means it gets loaded multiple times per process, which is not great. But even when loaded only once, it uses about 86K. Add to that 17K from ContentRestore.jsm and 12K from SessionHistory.jsm, and we're up to at least 120K per process, if none of the other helper JSMs get loaded. The things that these scripts do can easily be done by C++ (some of them more easily), so there doesn't seem to be a good justification for loading this much JS into every process for the sake of session restore.
Ah, and of course another 12K for Utils.jsm.
Whiteboard: [overhead:120k] → [overhead:135k]
I'm probably going to be working on this a bit for fission in the coming weeks, so self-assigning.
Assignee: nobody → nika
I'd say this is also [qf] work. Session store shows up rather often in the performance profiles.
Bug 1474130 might end up blocking much work here, but for now bug 1378651 and bug 1364019 are possibly reasonable to do. There are other priorities in the way. [Source: https://bugzilla.mozilla.org/show_bug.cgi?id=1413525#c55]
Fixing bug 1474130 is needed before the work on session management API (bug 1427928) can be continued: https://bugzilla.mozilla.org/show_bug.cgi?id=1427928#c48
(In reply to Robert Ab from comment #5) > Fixing bug 1474130 is needed before the work on session management API (bug > 1427928) can be continued: > https://bugzilla.mozilla.org/show_bug.cgi?id=1427928#c48 Do you know when this bug will be fixed?
I will take care of this bug.
Assignee: nika → alchen
Before starting the rewriting, I would like to rewrite the js modules which are used in ContentSessionStore.jsm. Bug 1497144: DocShellCapabilities.jsm and ScrollPosition.jsm Bug 1497146: FormData.jsm Bug 1497147: Utils.jsm (rewrite mapFrameTree)
Get rid of DocShellCapabilities.jsm and ScrollPosition.jsm
Attachment #9015520 - Attachment is obsolete: true
Attachment #9050151 - Attachment description: Bug 1474130 - WIP → Bug 1474130 - Implement ScrollPosition/Privacy/DocCapability listeners in C++
Priority: P3 → P2
Whiteboard: [overhead:135k] → [4/11] Stage 1 on review. Stage 2 and 3 to follow. [overhead:135k]
Summary: Convert content-sessionStore to C++ → Convert content-sessionStore to C++ - stage I
Whiteboard: [4/11] Stage 1 on review. Stage 2 and 3 to follow. [overhead:135k] → [4/29] addressing review comments
You need to log in before you can comment on or make changes to this bug.