summaryrefslogtreecommitdiffhomepage
path: root/test/benchmark.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/benchmark.rb')
-rwxr-xr-xtest/benchmark.rb25
1 files changed, 20 insertions, 5 deletions
diff --git a/test/benchmark.rb b/test/benchmark.rb
index 38dcc8fc..d5ccdf64 100755
--- a/test/benchmark.rb
+++ b/test/benchmark.rb
@@ -5,11 +5,14 @@ $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
require 'axlsx'
require 'csv'
require 'benchmark'
-Axlsx::trust_input = true
+# Axlsx::trust_input = true
row = []
-input = (32..126).to_a.pack('U*').chars.to_a
-20.times { row << input.shuffle.join }
+input1 = (32..126).to_a.pack('U*').chars.to_a # these will need to be escaped
+input2 = (65..122).to_a.pack('U*').chars.to_a # these do not need to be escaped
+10.times { row << input1.shuffle.join }
+10.times { row << input2.shuffle.join }
times = 3000
+
Benchmark.bmbm(30) do |x|
x.report('axlsx_noautowidth') do
p = Axlsx::Package.new
@@ -24,7 +27,7 @@ Benchmark.bmbm(30) do |x|
p.serialize("example_noautowidth.xlsx")
end
- x.report('axlsx') do
+ x.report('axlsx_autowidth') do
p = Axlsx::Package.new
p.workbook do |wb|
wb.add_worksheet do |sheet|
@@ -62,6 +65,18 @@ Benchmark.bmbm(30) do |x|
File.binwrite('example_streamed.xlsx', s.read)
end
+ x.report('axlsx_zip_command') do
+ p = Axlsx::Package.new
+ p.workbook do |wb|
+ wb.add_worksheet do |sheet|
+ times.times do
+ sheet << row
+ end
+ end
+ end
+ p.serialize("example_zip_command.xlsx", zip_command: 'zip')
+ end
+
x.report('csv') do
CSV.open("example.csv", "wb") do |csv|
times.times do
@@ -70,4 +85,4 @@ Benchmark.bmbm(30) do |x|
end
end
end
-File.delete("example.csv", "example_streamed.xlsx", "example_shared.xlsx", "example_autowidth.xlsx", "example_noautowidth.xlsx")
+File.delete("example.csv", "example_streamed.xlsx", "example_shared.xlsx", "example_autowidth.xlsx", "example_noautowidth.xlsx", "example_zip_command.xlsx")