From 6b0107b50e04bd57385860238a035f0752d2dad8 Mon Sep 17 00:00:00 2001 From: ochko Date: Mon, 26 Mar 2012 20:02:51 +0900 Subject: add perftools.rb --- axlsx.gemspec | 1 + test/profile.rb | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 test/profile.rb diff --git a/axlsx.gemspec b/axlsx.gemspec index c8fda02f..d67401d3 100644 --- a/axlsx.gemspec +++ b/axlsx.gemspec @@ -29,6 +29,7 @@ Gem::Specification.new do |s| s.add_development_dependency 'yard' s.add_development_dependency 'yard' s.add_development_dependency 'rdiscount' + s.add_development_dependency 'perftools.rb' s.required_ruby_version = '>= 1.8.7' s.require_path = 'lib' diff --git a/test/profile.rb b/test/profile.rb new file mode 100644 index 00000000..97d2e2bc --- /dev/null +++ b/test/profile.rb @@ -0,0 +1,33 @@ +#!/usr/bin/env ruby -s +# -*- coding: utf-8 -*- + +# Usage: +# > ruby test/profile.rb +# > pprof.rb --gif /tmp/axlsx_noautowidth > /tmp/axlsx_noautowidth.gif +# > open /tmp/axlsx_noautowidth.gif + +$:.unshift "#{File.dirname(__FILE__)}/../lib" +require 'axlsx' +require 'csv' + +# require 'benchmark' +require 'perftools' +row = [] +input = (32..126).to_a.pack('U*').chars.to_a +20.times { row << input.shuffle.join} +times = 1000 + +PerfTools::CpuProfiler.start("/tmp/axlsx_noautowidth") do + p = Axlsx::Package.new + p.use_autowidth = false + wb = p.workbook + + #A Simple Workbook + + wb.add_worksheet do |sheet| + times.times do + sheet << row + end + end + p.serialize("example.xlsx") +end -- cgit v1.2.3