JeffreyATW / mbfc_icon

Chrome/Firefox extension to show an icon representing status on Media Bias/Fact Check.
http://jeffreyatw.com/blog/2016/11/check-news-bias-with-a-simple-browser-icon/
MIT License
16 stars 2 forks source link

Startup performance with Waterfox Classic #9

Open grahamperrin opened 4 years ago

grahamperrin commented 4 years ago

Hi

Extension version 1.7.1 with home-built Waterfox Classic 2019.10 (20191103135811) on FreeBSD-CURRENT. (Historically: Waterfox 56.0 was based on Firefox 56.0.2, the final release before Firefox Quantum.)

With the extension disabled, it takes less than five seconds to append (restore) a session with 64 tabs across three windows.

With the extension enabled, it takes around forty-five seconds.

The difference in timing is as if browser.sessionstore.restore_tabs_lazily true loses its effectiveness, but technically I can't tell whether that's the issue.

Any ideas?

TIA

grahamperrin commented 4 years ago

Terminal output from:

  1. a start of Waterfox Classic with the extension disabled
  2. enabling the extension
  3. a start with the extension enabled.

If this is irrelevant, let's hide the comment as off-topic.

grahamperrin@momh167-gjp4-8570p:~ % waterfox -p test

(waterfox:55738): GLib-GObject-WARNING **: 03:58:15.012: gsignal.c:3492: signal name 'selection_changed' is invalid for instance '0x815dfa050' of type 'MaiAtkType139'
1574481510426   addons.webextension.{6ba00d80-d8f3-4e1a-bc70-e1b6c64ae4a0}      WARN    Please specify whether you want browser_style or not in your page_action options.
grahamperrin@momh167-gjp4-8570p:~ % waterfox -p test
1574481529499   addons.webextension.{6ba00d80-d8f3-4e1a-bc70-e1b6c64ae4a0}      WARN    Please specify whether you want browser_style or not in your page_action options.

(waterfox:55797): GLib-GObject-WARNING **: 03:58:50.289: gsignal.c:3492: signal name 'selection_changed' is invalid for instance '0x814503f90' of type 'MaiAtkType139'
Extension error: TypeError: domain is null moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js 51
[[Exception stack
getDomainSource@moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js:51:15
getTabSource/<@moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js:60:16
Current stack
runSafeSyncWithoutClone@resource://gre/modules/ExtensionUtils.jsm:63:129
runSafeSync@resource://gre/modules/ExtensionUtils.jsm:94:37
runSafe@resource://gre/modules/ExtensionCommon.jsm:164:32
wrapPromise/<@resource://gre/modules/ExtensionCommon.jsm:353:13
]]
Extension error: TypeError: domain is null moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js 51
[[Exception stack
getDomainSource@moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js:51:15
getTabSource/<@moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js:60:16
Current stack
runSafeSyncWithoutClone@resource://gre/modules/ExtensionUtils.jsm:63:129
runSafeSync@resource://gre/modules/ExtensionUtils.jsm:94:37
runSafe@resource://gre/modules/ExtensionCommon.jsm:164:32
wrapPromise/<@resource://gre/modules/ExtensionCommon.jsm:353:13
]]
Extension error: TypeError: domain is null moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js 51
[[Exception stack
getDomainSource@moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js:51:15
getTabSource/<@moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js:60:16
Current stack
runSafeSyncWithoutClone@resource://gre/modules/ExtensionUtils.jsm:63:129
runSafeSync@resource://gre/modules/ExtensionUtils.jsm:94:37
runSafe@resource://gre/modules/ExtensionCommon.jsm:164:32
wrapPromise/<@resource://gre/modules/ExtensionCommon.jsm:353:13
]]
Extension error: TypeError: domain is null moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js 51
[[Exception stack
getDomainSource@moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js:51:15
getTabSource/<@moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js:60:16
Current stack
runSafeSyncWithoutClone@resource://gre/modules/ExtensionUtils.jsm:63:129
runSafeSync@resource://gre/modules/ExtensionUtils.jsm:94:37
runSafe@resource://gre/modules/ExtensionCommon.jsm:164:32
wrapPromise/<@resource://gre/modules/ExtensionCommon.jsm:353:13
]]
Extension error: TypeError: domain is null moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js 51
[[Exception stack
getDomainSource@moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js:51:15
getTabSource/<@moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js:60:16
Current stack
runSafeSyncWithoutClone@resource://gre/modules/ExtensionUtils.jsm:63:129
runSafeSync@resource://gre/modules/ExtensionUtils.jsm:94:37
runSafe@resource://gre/modules/ExtensionCommon.jsm:164:32
wrapPromise/<@resource://gre/modules/ExtensionCommon.jsm:353:13
]]
Extension error: TypeError: domain is null moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js 51
[[Exception stack
getDomainSource@moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js:51:15
getTabSource/<@moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js:60:16
Current stack
runSafeSyncWithoutClone@resource://gre/modules/ExtensionUtils.jsm:63:129
runSafeSync@resource://gre/modules/ExtensionUtils.jsm:94:37
runSafe@resource://gre/modules/ExtensionCommon.jsm:164:32
wrapPromise/<@resource://gre/modules/ExtensionCommon.jsm:353:13
]]
Extension error: TypeError: domain is null moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js 51
[[Exception stack
getDomainSource@moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js:51:15
getTabSource/<@moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js:60:16
Current stack
runSafeSyncWithoutClone@resource://gre/modules/ExtensionUtils.jsm:63:129
runSafeSync@resource://gre/modules/ExtensionUtils.jsm:94:37
runSafe@resource://gre/modules/ExtensionCommon.jsm:164:32
wrapPromise/<@resource://gre/modules/ExtensionCommon.jsm:353:13
]]
Extension error: TypeError: domain is null moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js 51
[[Exception stack
getDomainSource@moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js:51:15
getTabSource/<@moz-extension://533e7bdc-24b7-4747-aba9-04da105f6d58/getTabSource.js:60:16
Current stack
runSafeSyncWithoutClone@resource://gre/modules/ExtensionUtils.jsm:63:129
runSafeSync@resource://gre/modules/ExtensionUtils.jsm:94:37
runSafe@resource://gre/modules/ExtensionCommon.jsm:164:32
wrapPromise/<@resource://gre/modules/ExtensionCommon.jsm:353:13
]]
grahamperrin@momh167-gjp4-8570p:~ % 

Relevant lines are currently:

https://github.com/JeffreyATW/mbfc_icon/blob/master/getTabSource.js#L51

https://github.com/JeffreyATW/mbfc_icon/blob/master/getTabSource.js#L60

– originally:

https://github.com/JeffreyATW/mbfc_icon/commit/2f7c4eba38f0806c1818c751ab25babf78f976b4#diff-ad8c9fbabf93162854561b7224c2961eR58

https://github.com/JeffreyATW/mbfc_icon/commit/2f7c4eba38f0806c1818c751ab25babf78f976b4#diff-ad8c9fbabf93162854561b7224c2961eR67

grahamperrin commented 4 years ago

It's probably safe to ignore the previous comment. I tested restoration of a different session twice without the extension, then with three versions of the extension.

https://addons.mozilla.org/addon/media-bias-fact-check-icon/versions/

Results: