[Webkit-unassigned] [Bug 39794] Inserting more than 30 000 nodes is very slow
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu May 27 18:24:08 PDT 2010
https://bugs.webkit.org/show_bug.cgi?id=39794
James Robinson <jamesr at chromium.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hyatt at apple.com,
| |jamesr at chromium.org,
| |mitz at webkit.org
--- Comment #1 from James Robinson <jamesr at chromium.org> 2010-05-27 18:24:07 PST ---
Ironically (given the source of this test case is http://hacks.mozilla.org/2010/05/better-performance-with-lazy-frame-construction/) all of the time is spent in a single lazy attachment pass. There are a few bits of N^2 behavior:
1.) Node::attach()'s loop through nextSibling() to check for adj text nodes. http://trac.webkit.org/browser/trunk/WebCore/dom/Node.cpp#L1226. This does a crawl through all subsequent siblings to see if they have renderers. Slow, but not new (that code is from r29054.
2.) Node::nextRenderer() called from Node::createRendererIfNeeded(). This also does a call through all siblings. This is also slow and also not new.
This doesn't look like a regression, so it is probably super important relative to other things. It would be nice at least to not have to make two passes through all siblings at each attachment instead of one.
--
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