Project Search Performance Regressions
Categories
(DevTools :: Debugger, defect, P2)
Tracking
(firefox71 fixed)
| Tracking | Status | |
|---|---|---|
| firefox71 | --- | fixed |
People
(Reporter: davidwalsh, Assigned: bhackett1024)
References
(Blocks 1 open bug)
Details
(Whiteboard: [debugger-mvp])
Attachments
(2 files)
Project search has regressed multiple times of the past few weeks. Image attached.
Push logs which appear to have created the regressions:
Updated•6 years ago
|
Comment 1•6 years ago
|
||
Logan, it looks like the first regression might have been caused by Bug 1541631. I wonder if there was a regression in loading sources after the memoization work landed?
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Comment 3•6 years ago
|
||
With some preliminary investigation here the regression is definitely real. If I isolate this DAMP test I get 3860 ms (averaged across 5 runs) in a revision from mid-July, and 9002 ms currently (2.3x worse). That time corresponds with how long the search takes to complete, and watching the browser things are a lot slower now.
The issue here is that doing a text search of the project loads the text of every source, and in doing so also loads the breakpoint positions of all those sources. Breakpoint position loading has changed quite a bit in the last couple months, and new features like bug 1572280 add overhead that will be hard to remove. I think the problem here is that doing a text search of the project doesn't actually need to know where the breakpoint positions are, and fetching the breakpoint positions for all sources when doing a search is wasted work. If I take a current build and comment out the call to setBreakableLines() in loadSourceTextPromise(), the average time comes down to 3342 ms, 15% better than it was in mid-July. Eventually we might want to make getting breakpoint positions faster, but when doing it only for sources that the user is actually viewing the cost of doing this should be a lot less.
| Assignee | ||
Comment 4•6 years ago
|
||
Comment 6•6 years ago
|
||
| bugherder | ||
Description
•