blob: 0190dc16f5d931340444bfad1d4c47ca9a11b74a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#!/usr/bin/env ruby -s
# Usage:
# > ruby test/profile.rb
# > pprof.rb --gif /tmp/axlsx > /tmp/axlsx.gif
# > open /tmp/axlsx_noautowidth.gif
$:.unshift "#{File.dirname(__FILE__)}/../lib"
require 'axlsx'
require 'perftools'
row = []
# Taking worst case scenario of all string data
input = (32..126).to_a.pack('U*').chars.to_a
20.times { row << input.shuffle.join}
times = 3000
PerfTools::CpuProfiler.start("/tmp/axlsx") do
p = Axlsx::Package.new
p.workbook.add_worksheet do |sheet|
times.times do
sheet << row
end
end
p.serialize("example.xlsx")
end
|