Misc #10983
Updated by nobu (Nobuyoshi Nakada) about 9 years ago
https://www.omniref.com/ruby/2.2.0/symbols/Proc/yield#annotation=4087638&line=711&hn=1 ~~~ruby require 'benchmark/ips' def block_call(&block) block.call end def just_yield yield end Benchmark.ips do |x| x.report("call") do block_call { 1 + 1 } end x.report("just yield") do just_yield { 1 + 1 } end x.compare! end ~~~ I run on Ruby 2.2.1 ~~~ Calculating ------------------------------------- call 40.754k i/100ms just yield 69.031k i/100ms ------------------------------------------------- call 814.929k (± 4.0%) i/s - 4.075M just yield 2.871M (±25.1%) i/s - 12.909M Comparison: just yield: 2871127.3 i/s call: 814929.3 i/s - 3.52x slower ~~~