DescriptionMake removeChild/remove faster with active Range objects
This patch makes |Node#removeChild()| and |Node#remove()| faster when
there are active Range objects in document by using DOM tree version as
offset validity instead of invalid offset value on node removal, which is
done by |Range::nodeChildrenChanged()| via
|Document::updateRangesAfterChildrenChanged()|.
This patch is similar to http://crrev.com/2034023003, which makes appendChild
and insertBefore faster.
On my Linux box, "remove-child-with-ranges.html" (with 1000 |Range| objects)
results are:
w/patch:
avg 0.96 runs/s, median 1.00 runs/s, min 0.80 runs/s, max 1.03 runs/s
w/o patch:
avg 0.69 runs/s, median 0.71 runs/s, min 0.56 runs/s, max 0.76 runs/s
BUG=n/a
TEST=PerformanceTests/Mutation/remove-child-with-ranges.html
Committed: https://crrev.com/6d90de9c8429ea28e578ff42ed6e2d35d963722b
Cr-Commit-Position: refs/heads/master@{#397993}
Patch Set 1 : 2016-06-06T14:55:55 #Patch Set 2 : 2016-06-06T16:21:06 #
Messages
Total messages: 9 (4 generated)
|