require 'benchmark'
total = (ENV['TOTAL'] || 1_000).to_i
strings = Dir["spec/**/*_spec.rb"]
numbers = Array.new(strings.size).fill { |i| strings[i].size }
Benchmark.bmbm do |x|
x.report("loop") do
times = 0
while times < total
size = numbers.size
i = j = 0
while i < size
while j < size
j += 1
end
i += 1
end
times += 1
end
end
x.report("Fixnum#==") do
times = 0
while times < total
size = numbers.size
i = j = 0
while i < size
while j < size
numbers[i] == numbers[j]
j += 1
end
i += 1
end
times += 1
end
end
x.report("String#==") do
times = 0
while times < total
size = numbers.size
i = j = 0
while i < size
while j < size
strings[i] == strings[j]
j += 1
end
i += 1
end
times += 1
end
end
end