[Webkit-unassigned] [Bug 89900] New: Bad Performance with descendant walk in RenderQuote::rendererSubtreeAttached

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jun 25 12:14:24 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=89900

           Summary: Bad Performance with descendant walk in
                    RenderQuote::rendererSubtreeAttached
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Layout and Rendering
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: inferno at chromium.org
                CC: eric at webkit.org, hyatt at apple.com, darin at apple.com,
                    mitz at webkit.org, jchaffraix at webkit.org,
                    rniwa at webkit.org, jamesr at chromium.org


RenderQuote::rendererSubtreeAttached is called on every invocation of RenderObjectChildList::appendChildNode and RenderObjectChildList::insertChildNode. This function walks through every descendant and calls a virtual function on it. This can be written way more smartly since 99.999% of the time, we don't have any renderquote in our tree. Same case for RenderCounters.

void RenderQuote::rendererSubtreeAttached(RenderObject* renderer)
{
    if (renderer->documentBeingDestroyed())
        return;
    for (RenderObject* descendant = renderer; descendant; descendant = descendant->nextInPreOrder(renderer))
        if (descendant->isQuote()) {
            toRenderQuote(descendant)->placeQuote();
            break;
        }
}

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list