Open Bug 1480477 Opened 3 years ago Updated 10 months ago

Removing DOM children where positional pseudo-classes are involved is really slow.

Categories

(Core :: CSS Parsing and Computation, defect, P2)

defect

Tracking

()

People

(Reporter: emilio, Unassigned, NeedInfo)

References

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

Details

(Whiteboard: [qf:p2:responsiveness][layout:backlog:quality])

Attachments

(1 file)

Attached file Testcase.
See the test-case. Change firstChild by lastChild to make it twice as fast.

That being said, we're still pretty slow even with that... Need to look at what other engines are doing.

See bugs related to bug 1443066 for another more fine-grained invalidation that would make this cheaper, maybe.
Flags: needinfo?(emilio)
Repurposing because we're really slow even with that fixed... :(
Summary: Expansion of LaterSiblings hints can make removal of children O(n^2) → Removing DOM children where positional pseudo-classes are involved is really slow.
Blocks: 1480746
[setting this to p1 since it seems important & to get it out of triage queue -- feel free to adjust if you think that's higher priority than is merited though.]
Priority: -- → P1
Depends on: 1406622
Whiteboard: [qf]
Whiteboard: [qf] → [qf:p1:f67]
Duplicate of this bug: 1488358
Blocks: 1481783
Whiteboard: [qf:p1:f67] → [qf:p1:f67][layout:p1]

--> categorizing as "responsiveness", given that this was from a dynamic-adding/removing-elements part of a benchmark (bug 1443066). And bumping to qf:p2 since qf:p1 is now reserved for pageload.

Whiteboard: [qf:p1:f67][layout:p1] → [qf:p2:responsiveness][layout:p1]
See Also: → 1523028
Flags: needinfo?(emilio)

(Just putting it further up in the ni? queue, sorry for the spam)

Flags: needinfo?(emilio)
Blocks: 1524787
Depends on: 1533963
Blocks: 1569292
Priority: P1 → P2
Whiteboard: [qf:p2:responsiveness][layout:p1] → [qf:p2:responsiveness][layout:backlog:quality]
You need to log in before you can comment on or make changes to this bug.