Closed Bug 1908327 Opened 2 years ago Closed 1 year ago

Migrate finding in scope locations from Babel to lezer

Categories

(DevTools :: Debugger, task)

task

Tracking

(firefox137 fixed)

RESOLVED FIXED
137 Branch
Tracking Status
firefox137 --- fixed

People

(Reporter: ochameau, Assigned: bomsy)

References

(Depends on 1 open bug, Blocks 2 open bugs)

Details

(Keywords: perf-alert)

Attachments

(1 file)

Babel parser (parser-worker.js) is by far the main performance culprit of the Debugger.

We do use the parser for various debugger frontend features, highlighted in the following document:
https://docs.google.com/document/d/12xq6Q5qDEuNDtKwSm9LwKSUA4k_zT-r96-3TWIimoqA/edit#heading=h.ldmzcj1wna5e

Thanks to the migration to CodeMirror 6 (bug 1773246), we will be able to use its new parser lezer.
This parser supports parsing only chunks of code and will allow us to only parse the current viewport.
Babel only supports parsing the whole file, which is the main reason why this particular part of the debugger is slow.

See Also: → 1901375
Blocks: dbg-perf
Assignee: nobody → hmanilla
Status: NEW → ASSIGNED
Depends on: 1919570
Blocks: 1874698
No longer blocks: 1843454
See Also: 1901375 →
Type: enhancement → task
Summary: Migrate from Babel to lezer in debugger frontend usages → Migrate finding in scope locations from Babel to lezer
Attachment #9416527 - Attachment description: WIP: Bug 1908327 - [devtools] Migrate getting in scope locations from CM6 parser instead of the parser worker → Bug 1908327 - [devtools] Migrate getting in scope locations from CM6 parser instead of the parser worker r=#devtools
Blocks: 1942459
No longer blocks: 1942459
Pushed by hmanilla@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6ca339ffce82 [devtools] Migrate getting in scope locations from CM6 parser instead of the parser worker r=devtools-reviewers,ochameau

Backed out for causing multiple dt failures

Backout link

Push with failures

Failure log

There are also failures with log parsing skipped like this one

Flags: needinfo?(hmanilla)
Pushed by hmanilla@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0e66b7737698 [devtools] Migrate getting in scope locations from CM6 parser instead of the parser worker r=devtools-reviewers,ochameau
Pushed by hmanilla@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c896521751db [devtools] Migrate getting in scope locations from CM6 parser instead of the parser worker r=devtools-reviewers,ochameau
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 137 Branch
Flags: needinfo?(hmanilla)
Regressions: 1948688

(In reply to Norisz Fay [:noriszfay] from comment #3)

Backed out for causing multiple dt failures

Backout link

Push with failures

Failure log

There are also failures with log parsing skipped like this one

Perfherder has detected a devtools performance change from push a9fff10eecc6201bd71902ca278a3da19765c942.

Improvements:

Ratio Test Platform Options Absolute values (old vs new)
11% damp custom.jsdebugger.open-large-minified-file.DAMP linux1804-64-shippable-qr e10s fission stylo webrender 63.40 -> 56.55

Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests.

If you need the profiling jobs you can trigger them yourself from treeherder job view or ask a sheriff to do that for you.

You can run these tests on try with ./mach try perf --alert 43886

For more information on performance sheriffing please see our FAQ.

Keywords: perf-alert
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: