[webkit-reviews] review requested: [Bug 13115] REGRESSION: 1000% performance regression in DOM access by index, which was already slow : [Attachment 14123] proposed fix

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Apr 21 10:06:02 PDT 2007


Alexey Proskuryakov <ap at webkit.org> has asked  for review:
Bug 13115: REGRESSION: 1000% performance regression in DOM access by index,
which was already slow
http://bugs.webkit.org/show_bug.cgi?id=13115

Attachment 14123: proposed fix
http://bugs.webkit.org/attachment.cgi?id=14123&action=edit

------- Additional Comments from Alexey Proskuryakov <ap at webkit.org>
This patch makes NodeLists use a shared cache, similar to the one
HTMLCollections use. With it, ChildNodeList::length() is no longer in Shark
profiles.

Above comments indicate that different people get different timings on these
tests. This is apparently due to them being entirely memory-bound - over 90% of
time is spent on a single instruction, "lwz r3,20(r3)" (which is what
Node::nextSibling() compiles to).

On my machine, the "insert" time on Hixie's test went down from 26 seconds to 7
seconds on TOT, while shipping Safari result is under 6 seconds. Believe it or
not, David's reduction takes 64 seconds with shipping Safari, and 7 seconds on
TOT with this patch (I haven't measured bare TOT). Go figure.



More information about the webkit-reviews mailing list