18 lines
429 B
Ruby
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
|