Open Bug 1414918 Opened 7 years ago Updated 2 years ago

hide event coalescence is slow

Categories

(Core :: Disability Access APIs, defect, P2)

defect

Tracking

()

People

(Reporter: surkov, Unassigned)

References

(Blocks 1 open bug)

Details

Current hide event coalescence approach in performance is close to what we had before EventTree and it is slow: it navigates through the whole event list for each event, which brings the event coalescence performance to o(n^2). I'm pretty sure that this is a cause of bug 1368784, a performance regression comparing to EventTree times. A more optimal way would be reusing EventTree logic for this part, i.e associate show events with a reorder event, and then if a new hide is contained by a reorder event, run through their associated show events and see if any show event contains that hide event.
btw, 'a hide event contained by a hide event' coalescence doesn't work, this logic [1] works for 'a hide event contained by a show event' only, because hide events are unattached from the tree and you cannot traverse their parent's chain any longer. [1] https://dxr.mozilla.org/mozilla-central/source/accessible/base/NotificationController.cpp#388
Priority: -- → P2
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.