Sha256: 92539198112c0c2a0eb44cf97d2de53996344fb2dc4e2743d3996cae727d80ba

Contents?: true

Size: 697 Bytes

Versions: 18

Compression:

Stored size: 697 Bytes

Contents

require 'benchmark/ips'

puts "Ruby #{RUBY_VERSION} at #{Time.now}"
puts

firstname = 'soundarapandian'
middlename = 'rathinasamy'
lastname = 'arumugam'

def do_call(&block)
	block.call
end

def do_yield(&block)
	yield
end

def do_yield_without_block
	yield
end

existing_block = proc{}

Benchmark.ips do |x|
	x.report("block.call") do |i|
		buffer = String.new
		
		while (i -= 1) > 0
			do_call(&existing_block)
		end
	end
	
	x.report("yield with block") do |i|
		buffer = String.new
		
		while (i -= 1) > 0
			do_yield(&existing_block)
		end
	end
	
	x.report("yield") do |i|
		buffer = String.new
		
		while (i -= 1) > 0
			do_yield_without_block(&existing_block)
		end
	end
	
	x.compare!
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
trenni-3.7.1 benchmark/call_vs_yield.rb
trenni-3.7.0 benchmark/call_vs_yield.rb
trenni-3.6.1 benchmark/call_vs_yield.rb
trenni-3.6.0 benchmark/call_vs_yield.rb
trenni-3.5.0 benchmark/call_vs_yield.rb
trenni-3.4.0 benchmark/call_vs_yield.rb
trenni-3.3.0 benchmark/call_vs_yield.rb
trenni-3.2.0 benchmark/call_vs_yield.rb
trenni-3.1.3 benchmark/call_vs_yield.rb
trenni-3.1.2 benchmark/call_vs_yield.rb
trenni-3.1.1 benchmark/call_vs_yield.rb
trenni-3.1.0 benchmark/call_vs_yield.rb
trenni-3.0.4 benchmark/call_vs_yield.rb
trenni-3.0.3 benchmark/call_vs_yield.rb
trenni-3.0.0 benchmark/call_vs_yield.rb
trenni-2.1.0 benchmark/call_vs_yield.rb
trenni-2.0.2 benchmark/call_vs_yield.rb
trenni-2.0.1 benchmark/call_vs_yield.rb