oga/benchmark/xml/node_set/push_bench.rb

18 lines
429 B
Ruby

require_relative '../../benchmark_helper'
# Assigning to an Array first saves the need (and overhead) of calling #push for
# every iteration.
initial = 20_000.times.map do |number|
Oga::XML::Element.new(:name => number.to_s)
end
initial = Oga::XML::NodeSet.new(initial)
Benchmark.ips do |bench|
bench.report 'XML::NodeSet#push' do
new_set = Oga::XML::NodeSet.new
initial.each { |node| new_set << node }
end
end