This PR improves performance of XML serialization :
by 15% without active support
by 25% when active support is loaded
This has a visible impact in our application using ActiveRecord. I have a 15% overall gain.
I'm using this script to benchmark :
# require "active_support/all"
require "benchmark"
module Xlsxtream
n = 500000
Benchmark.bm do |x|
x.report { for i in 1..n; Row.new(['foo', nil, 23, 'foo', nil, 23, 'foo', nil, 23, 'foo', nil, 23], 1).to_xml; end }
end
end
This PR improves performance of XML serialization :
This has a visible impact in our application using ActiveRecord. I have a 15% overall gain.
I'm using this script to benchmark :