[Webkit-unassigned] [Bug 13487] Implement O(1) absoluteClippedOverflowRect and absoluteOutlineBox during layout for a possible speed gain
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Apr 26 10:43:37 PDT 2007
http://bugs.webkit.org/show_bug.cgi?id=13487
------- Comment #10 from hyatt at apple.com 2007-04-26 10:43 PDT -------
Here are the top offenders on the nesting PLT:
15% WebCore::RenderObject::containingBlock() const
11% WebCore::RenderFlow::dirtyLinesFromChangedChild(WebCore::RenderObject*)
11% WebCore::RenderObject::repaint(bool)
9% WebCore::RenderBox::computeAbsoluteRepaintRect(WebCore::IntRect&, bool)
4% WebCore::RenderBox::absolutePosition(int&, int&, bool) const
Excluding containingBlock turns into:
15% WebCore::RenderObject::invalidateContainingBlockPrefWidths()
Which breaks down into 10% appendChildNode and 5% removeChildNode.
It's clear from that profile that this change to make these O(1) will be a win.
I think I should probably fix invalidatePrefWidths to use container() so that
intermediate inlines are not skipped, since not dirtying the inlines is
introducing O(n^2) behavior into this method as inlines nest deeply.
--
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list