- def blocks1(&block)
- 100.times do |i| block.call(i) end
- end
- def blocks2
- 100.times do |i| yield(i) end
- end
- def blocks3(&block)
- 100.times(&block)
- end
- N = 1e3
- pbench N,10 do blocks1 do |i| i+2 end end # => ø 0.039293ms (7.9%)
- pbench N,10 do blocks2 do |i| i+2 end end # => ø 0.019665ms (1.8%)
- pbench N,10 do blocks3 do |i| i+2 end end # => ø 0.016653ms (21.8%)