[webkit-reviews] review denied: [Bug 73853] Inserting nodes is slow due to Node::notifyNodeListsAttributeChanged (20%+) : [Attachment 149165] Removed more code
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sat Jun 23 07:56:45 PDT 2012
Ojan Vafai <ojan at chromium.org> has denied Ryosuke Niwa <rniwa at webkit.org>'s
request for review:
Bug 73853: Inserting nodes is slow due to Node::notifyNodeListsAttributeChanged
(20%+)
https://bugs.webkit.org/show_bug.cgi?id=73853
Attachment 149165: Removed more code
https://bugs.webkit.org/attachment.cgi?id=149165&action=review
------- Additional Comments from Ojan Vafai <ojan at chromium.org>
View in context: https://bugs.webkit.org/attachment.cgi?id=149165&action=review
Overall, this looks like a big improvement!
This patch also uses an extra pointer per DynamicNodeList now because it adds
more of them to m_listsInvalidatedAtDocument, right? I think that's fine, but
the ChangeLog should state it. I don't have a good intuition for how many
concurrent DynamicNodeLists a give page has. Have you instrumented gmail or
facebook to get a sense of what the memory impact of this change would be?
> Source/WebCore/dom/Document.cpp:3879
> + if (!attrName || (*it)->shouldInvalidateOnAttributeChange())
As the code is, it's weird for this to take a QualifiedName instead of an enum
or something (e.g. ShouldClearAttributeCaches). But, I think in the future, we
probably want to be even more fine-grained and only clear the attribute caches
that are affected by this attribute name. Mind putting a FIXME to that effect?
With the FIXME there it makes more sense to pass in a QualifiedName.
> Source/WebCore/dom/Node.cpp:967
> + document()->clearNodeListCaches(&attrName);
The comment on lines 950-955 probably needs to be updated.
More information about the webkit-reviews
mailing list