DescriptionMake Vector<WebCore::NodeEventContext> faster
The Intel VTune Amplifier profile detects 'NodeEventContext' destructor
(and its subsequent calls) to be the biggest hotspot when running
'EventsDispatchingInDeeplyNestedShadowTrees' performance test.
The main reason for it is inefficient Vector<WebCore::NodeEventContext>
(and the applied VectorMover in particular). This patch makes the
Vector<WebCore::NodeEventContext> more efficient via using
SimpleClassVectorTraits for NodeEventContext.
Results are the folowing (linux desktop x64, GCC 4.6.3,
release content_shell build with enabled 'linux_dump_symbols' flag)
before:
avg 6359.329553799463 runs/s
median 6412.644942400308 runs/s
stdev 220.99651799417947 runs/s
min 5429.032965593617 runs/s
max 6449.434918587015 runs/s
after:
avg 8059.328340764995 runs/s
median 8181.982047553853 runs/s
stdev 465.58159603795553 runs/s
min 6800.9409740083 runs/s
max 8483.844241958124 runs/s
The avg performance gain is around 28%
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=171814
Patch Set 1 #
Messages
Total messages: 6 (0 generated)
|