Bug 1867137 Comment 2 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

So, the upshot is: every I perform some action that requires an update to my saved sessionstore data (e.g. navigating or opening/closing a tab I think), Firefox queues up an idle task to redundantly serialize and compress >80MB of text (as JSON), representing >450 copies of a base64 string representing the bugzilla favicon. This task janks the frontend when it executes (which I notice as skipped frames in videos playing on twitter, for example; I've profiled these skipped frames and the profiler shows it to be due to sessionstore writing out its JSON).

This could be made much better if we only serialized a single copy of this 200KB bugzilla favicon and referenced that single copy from multiple places.
So, the upshot is: every I perform some action that requires an update to my saved sessionstore data (e.g. navigating or opening/closing a tab I think), Firefox queues up an idle task to redundantly serialize and compress >80MB of text (as JSON), representing >450 copies of a base64 string representing the bugzilla favicon. This task janks the frontend when it executes (which I notice as skipped frames in videos playing on twitter, for example; I've profiled these skipped frames and the profiler shows it to be due to sessionstore writing out its JSON).

This could be made much better if we only serialized a single copy of this 200KB bugzilla favicon and referenced that single copy from multiple places in the sessionstore JSON content.
So, the upshot is: every I perform some action that requires an update to my saved sessionstore data (e.g. typing a character into a textfield, navigating or opening/closing a tab), Firefox queues up an idle task to redundantly serialize and compress 139MB of text, of which >80MB represents >450 copies of a base64 string representing the bugzilla favicon. This task janks the frontend when it executes (which I notice as skipped frames in videos playing on twitter, for example; I've profiled these skipped frames and the profiler shows it to be due to sessionstore writing out its JSON).

This could be made much better if we only serialized a single copy of this 200KB bugzilla favicon and referenced that single copy from multiple places in the sessionstore JSON content.
So, the upshot is: every I perform some action that requires an update to my saved sessionstore data (e.g. typing a character into a textfield, navigating or opening/closing a tab), Firefox queues up an idle task to redundantly serialize and compress 139MB of text, of which >80MB represents >450 copies of a base64 string representing the bugzilla favicon. This task janks the frontend when it executes (which I notice as skipped frames in videos playing on twitter and YouTube, for example; I've profiled these skipped frames and the profiler shows it to be due to sessionstore writing out its JSON).

This could be made much better if we only serialized a single copy of this 200KB bugzilla favicon and referenced that single copy from multiple places in the sessionstore JSON content.

Back to Bug 1867137 Comment 2