Fix for JRUBY-2882. Handle error messages related to constructors better
[jruby.git] / bench / bench_rescue.rb
blobf37c993252cbb14bbe762e87175e0565edd27838
1 require 'benchmark'
3 def bench_rescue(bm)
4   bm.report("100k rescue with no raise") do
5     100_000.times { begin; rescue; end }
6   end
8   bm.report("100k rescue with raise") do
9     100_000.times { begin; raise; rescue; end }
10   end
12   bm.report("100k inline rescue") do
13     100_000.times { raise rescue nil }
14   end
16   bm.report("100k missing method with raise") do
17     100_000.times { __NOMETHOD__ rescue nil }
18   end
19 end
21 if $0 == __FILE__
22   Benchmark.bmbm(40) {|bm| bench_rescue(bm)}
23 end