Closed Bug 1525332 Opened 7 months ago Closed 7 months ago

Console could load some modules lazily

Categories

(DevTools :: Console, enhancement)

enhancement
Not set

Tracking

(firefox67 fixed)

RESOLVED FIXED
Firefox 67
Tracking Status
firefox67 --- fixed

People

(Reporter: nchevobbe, Assigned: nchevobbe)

Details

Attachments

(1 file)

I was handed this profile of console opening which revealed quite some loading time, and I think we can do better.

There was quite some file that was required directly
but that may not be used until later (or maybe never),
which means we were doing extra work.
Lazily loading those files seems to improve opening
time significantly.

Pushed by nchevobbe@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/dda7c63c1c18
Lazy load components and modules we don't need right away at console initialization; r=Honza.
Status: ASSIGNED → RESOLVED
Closed: 7 months ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 67

As expected the lazy loading of modules speed up console opening, while regressing bulklog, which now has to load a few modules on first message being logged.
I'm having a hard time explaining the improvement on debugger.stepOver?!

== Change summary for alert #19222 (as of Thu, 07 Feb 2019 11:52:15 GMT) ==

Regressions:

19% damp console.bulklog osx-10-10 opt e10s stylo 170.48 -> 202.57
17% damp console.bulklog windows10-64-qr opt e10s stylo 112.38 -> 131.11
17% damp console.bulklog linux64 pgo e10s stylo 105.79 -> 123.26
16% damp console.bulklog linux64-qr opt e10s stylo 108.42 -> 125.43
15% damp console.typing linux64 pgo e10s stylo 328.82 -> 378.55
14% damp console.bulklog windows10-64 opt e10s stylo 113.39 -> 129.70
14% damp console.bulklog linux64 opt e10s stylo 108.94 -> 124.50
14% damp console.bulklog windows10-64 pgo e10s stylo 110.36 -> 125.83
13% damp complicated.netmonitor.exportHar windows10-64-qr opt e10s stylo 1,009.78 -> 1,145.88
13% damp complicated.netmonitor.exportHar windows10-64 opt e10s stylo 1,018.51 -> 1,153.31
10% damp console.bulklog windows7-32 opt e10s stylo 117.12 -> 128.27
9% damp console.bulklog windows7-32 pgo e10s stylo 114.18 -> 124.03
5% damp complicated.inspector.reload.DAMP linux64 pgo e10s stylo 1,097.30 -> 1,153.15
4% damp console.objectexpand windows7-32 opt e10s stylo 399.69 -> 417.04
4% damp console.objectexpand windows10-64 pgo e10s stylo 392.89 -> 409.01
4% damp custom.jsdebugger.pause.DAMP linux64 opt e10s stylo 366.96 -> 381.26
3% damp simple.jsdebugger.reload.DAMP linux64 pgo e10s stylo 178.31 -> 184.26
3% damp console.objectexpand windows10-64 opt e10s stylo 430.88 -> 443.52

Improvements:

20% damp custom.jsdebugger.stepOver.DAMP linux64 pgo e10s stylo 325.99 -> 261.59
10% damp simple.webconsole.open.DAMP windows10-64 pgo e10s stylo 306.64 -> 274.70
10% damp complicated.webconsole.open.DAMP windows7-32 pgo e10s stylo 294.78 -> 265.14
10% damp simple.webconsole.open.DAMP windows10-64-qr opt e10s stylo 322.75 -> 290.65
10% damp simple.webconsole.open.DAMP linux64 pgo e10s stylo 303.89 -> 274.00
10% damp console.openwithcache.open.DAMP linux64 pgo e10s stylo 316.45 -> 285.78
10% damp complicated.webconsole.open.DAMP windows10-64 pgo e10s stylo 300.45 -> 271.59
10% damp simple.webconsole.open.DAMP linux64 opt e10s stylo 328.14 -> 296.78
10% damp console.openwithcache.open.DAMP windows10-64 pgo e10s stylo 327.09 -> 295.95
9% damp simple.webconsole.open.DAMP windows10-64 opt e10s stylo 327.31 -> 296.64
9% damp simple.webconsole.open.DAMP windows7-32 pgo e10s stylo 301.67 -> 274.15
9% damp complicated.webconsole.open.DAMP linux64 opt e10s stylo 308.00 -> 280.54
9% damp complicated.webconsole.open.DAMP linux64-qr opt e10s stylo 339.40 -> 310.00
9% damp simple.webconsole.open.DAMP linux64-qr opt e10s stylo 341.80 -> 312.48
8% damp console.openwithcache.open.DAMP windows10-64-qr opt e10s stylo 342.12 -> 313.09
8% damp custom.inspector.expandall.balanced linux64 pgo e10s stylo 680.34 -> 623.79
8% damp complicated.webconsole.open.DAMP windows10-64 opt e10s stylo 320.65 -> 294.11
8% damp console.openwithcache.open.DAMP windows10-64 opt e10s stylo 343.64 -> 316.06
8% damp complicated.webconsole.open.DAMP windows10-64-qr opt e10s stylo 329.04 -> 303.10
8% damp console.openwithcache.open.DAMP linux64 opt e10s stylo 342.36 -> 315.51
8% damp complicated.webconsole.open.DAMP windows7-32 opt e10s stylo 321.11 -> 296.52
8% damp simple.webconsole.open.DAMP windows7-32 opt e10s stylo 320.68 -> 296.24
7% damp console.openwithcache.open.DAMP linux64-qr opt e10s stylo 357.37 -> 331.46
7% damp console.openwithcache.open.DAMP windows7-32 opt e10s stylo 338.71 -> 315.52
7% damp console.openwithcache.open.DAMP windows7-32 pgo e10s stylo 318.84 -> 297.24
6% damp custom.inspector.collapseall.balanced linux64 pgo e10s stylo 11.61 -> 10.96
6% damp custom.jsdebugger.stepOut.DAMP linux64 pgo e10s stylo 583.47 -> 551.06
5% damp complicated.netmonitor.requestsFinished.DAMP linux64 pgo e10s stylo 2,054.94 -> 1,945.28
5% damp complicated.netmonitor.reload.DAMP linux64 pgo e10s stylo 1,856.30 -> 1,757.48
5% damp custom.webconsole.open.DAMP linux64 opt e10s stylo 549.58 -> 521.57
5% damp custom.webconsole.open.DAMP windows10-64 pgo e10s stylo 561.16 -> 532.66
5% damp custom.webconsole.open.DAMP windows7-32 pgo e10s stylo 554.33 -> 526.88
5% damp complicated.webconsole.open.DAMP linux64 pgo e10s stylo 282.71 -> 268.86
5% damp custom.webconsole.open.DAMP linux64-qr opt e10s stylo 573.00 -> 546.09
5% damp custom.webconsole.open.DAMP windows10-64-qr opt e10s stylo 583.37 -> 556.12
5% damp complicated.styleeditor.open.DAMP linux64 pgo e10s stylo 760.40 -> 724.99
4% damp custom.webconsole.open.DAMP linux64 pgo e10s stylo 513.88 -> 490.93
4% damp custom.webconsole.open.DAMP windows10-64 opt e10s stylo 589.51 -> 564.04
4% damp custom.webconsole.open.DAMP windows7-32 opt e10s stylo 573.08 -> 549.63
4% damp custom.inspector.close.DAMP linux64 pgo e10s stylo 63.65 -> 61.20

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=19222

You need to log in before you can comment on or make changes to this bug.