Closed Bug 1566115 Opened 5 years ago Closed 5 years ago

about:logins is slow while filtering

Categories

(Firefox :: about:logins, defect, P1)

defect

Tracking

()

RESOLVED FIXED
Firefox 70
Tracking Status
firefox68 --- unaffected
firefox69 --- disabled
firefox70 --- fixed

People

(Reporter: klint, Assigned: jaws)

References

Details

(Whiteboard: [passwords:management])

Attachments

(3 files)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0

Steps to reproduce:

I opened about:logins in FF69 beta 4
I entered a search criteria in the search field

Actual results:

the letters I typed appeared very very slowly in the search field, making the whole search feature unusable.
That was not the case the last time I tested in FF68.

Also, navigating in the list of entries in quite slow.

Forgot to mention that I have 1200 saved passwords.

Jared, can you triage?

Flags: needinfo?(jaws)
Whiteboard: [passwords:management]
Summary: Password manager is slow → about:logins is slow while filtering
Blocks: about-logins
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(jaws)
Priority: -- → P1

https://searchfox.org/mozilla-central/rev/22b330ecb3edba1536a54887060cbdd09db21c59/browser/components/aboutlogins/content/components/login-list.js#59,164-165 highlights the problem.

Each time the filter is updated we clear out the list of logins and re-render them. This profile, https://perfht.ml/2YXaTWB, shows the majority of work is from render(). includes() shows up there which is called from _applyFilter but this is only 13% compared to 53% of the time in LoginListItem.create.

Assignee: nobody → jaws
Status: NEW → ASSIGNED
Flags: qe-verify-
Version: 69 Branch → Trunk
Pushed by jwein@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1ec458006e91 Store references to the logins in a map keyed on their GUID and a separate sorted array of GUIDs. r=MattN https://hg.mozilla.org/integration/autoland/rev/4782eb7f3b44 Only add/remove login-list-items when they are removed from the internal list, and update the remaining ones instead of clearing the whole list and rebuilding it on each render. r=MattN https://hg.mozilla.org/integration/autoland/rev/826dc645c09c Apply the sort of login list items by just rearranging the DOM nodes as needed. r=Gijs,MattN
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla70
Regressions: 1570788
No longer regressions: 1570788
Component: Password Manager → about:logins
Product: Toolkit → Firefox
Target Milestone: mozilla70 → Firefox 70
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: