require 'benchmark' numbers = (1..9999).to_a.shuffle << 9999 def find_duplicate_hash_store(numbers_array) checked_numbers = {} numbers_array.each do |number| return number if checked_numbers[number] != nil checked_numbers[number] = number end 'no duplicate found' end def find_duplicate_array_store(numbers_array) checked_numbers = [] numbers_array.each do |number| return number if checked_numbers.include?(number) checked_numbers << number end 'no duplicate found' end Benchmark.bm(7) do |x| x.report("hash_store ") { find_duplicate_hash_store(numbers)} x.report("array_store") { find_duplicate_array_store(numbers)} end