DescriptionUse a StringImpl* instead of an AtomicString for NodeListAtomicNameCacheMap's key
Use a StringImpl* instead of an AtomicString for NodeListAtomicNameCacheMap's key.
This results in slightly better performance, mainly by avoiding refcounting
churn on the StringImpl.
This improves Dromaeo's dom-attr test score by ~5.5% on my Linux desktop.
When profiling Dromaeo's dom-attr, I noticed that
NodeListsNodeData::invalidateCaches() was hot (6.7% of time spent), this patch
makes it go down to 5.0%.
This patch minimizes the performance regression caused by r166263, which made
getElementsByTagName() return an HTMLCollection instead of a NodeList. According
to the profiler, the performance impact is mainly due to node lists invalidation,
which is now occuring more frequently because HTMLCollection has an id/name cache
and therefore needs to be invalidated on id/name attribute change.
R=abarth, adamk
BUG=340325
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=166796
Patch Set 1 #
Total comments: 3
Patch Set 2 : Add comment #Messages
Total messages: 21 (0 generated)
|