1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 10:47:35 +00:00

LibWeb: Sort stacking context tree once, after fully building it

Instead of calling quick_sort() every time a StackingContext child
is added to a parent, we now do a single pass of sorting work after the
full StackingContext tree has been built.

Before this change, the quick_sort() was ~13.5% of the profile while
hovering links on GitHub in the Browser. After the change, it's down to
~0.6%. Pretty good! :^)
This commit is contained in:
Andreas Kling 2022-03-13 16:19:54 +01:00
parent 0dfb9714fe
commit f5c2e87965
3 changed files with 18 additions and 10 deletions

View file

@ -33,6 +33,8 @@ public:
void dump(int indent = 0) const;
void sort();
private:
Layout::Box& m_box;
StackingContext* const m_parent { nullptr };