require 'benchmark'
require 'rubygems'
require 'active_support'


class X

def return_by_returning
returning i = 0 do
end
end

def return_by_return
i = 0
return i
end

def return_by_omission
i = 0
i
end

end

t = X.new

TESTS = 1_000_000
Benchmark.bmbm do |results|
results.report("def n; i = 0; return i; end") { TESTS.times { t.return_by_return } }
results.report("def n; i = 0; i ; end") { TESTS.times { t.return_by_omission } }
results.report("def n; returning i = 0 do; end; end") { TESTS.times { t.return_by_returning } }
end