20 June 19, 07:02
Quote:Continue Reading
Firefox users may experience bugs and issues related to the browser's Session Restore feature while Mozilla is working on changing the feature's code.
Session Restore is a core feature of the Firefox web browser designed to reload the last browsing session on start of the browser.
Firefox users may set up the browser to load all open tabs of the previous browsing session on start of the browser. All that is required for that is to make sure that "Restore previous session" is enabled on about:preferences.
Mozilla started to work on converting Firefox's current Session Restore logic to C++ to reduce the feature's impact on the browser's memory usage and performance.
The bug listing on Mozilla's bug tracking website, bug 1474130, highlights the rationale behind the change
Quote: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.
Mozilla hopes to address Sessionstore related performance issues with the move and to reduce the per-process memory costs of Firefox processes.
The meta Sessionstore feature development bug lists the work that still needs to be done to improve the feature. It is clear, just by looking at the list of dependencies and open bugs, that it will take quite some time to resolve all outstanding issues.