ruby--ruby/tool/rdocbench.rb

23 lines
399 B
Ruby

require 'rdoc/rdoc'
require 'tmpdir'
require 'benchmark'
require 'pp'
Dir.mktmpdir('rdocbench-'){|d|
dir = File.join(d, 'rdocbench')
args = ARGV.dup
args << '--op' << dir
GC::Profiler.enable
Benchmark.bm{|x|
x.report('rdoc'){
r = RDoc::RDoc.new
r.document args
GC::Profiler.report
pp GC.stat
puts "GC Total Time:#{GC::Profiler.total_time}"
}
}
}