summaryrefslogtreecommitdiff
path: root/lib/vendor/excon/benchmarks/merging.rb
blob: 7674e3feae0bfdd3f9cd8ff7ea9f5119e1b331b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
require 'rubygems'
require 'tach'

Tach.meter(10_000) do

  tach('merge') do
    default = { :a => 1, :b => 2 }
    override = { :b => 3, :c => 4 }
    override = default.merge(override)
  end

  tach('loop') do
    default = { :a => 1, :b => 2 }
    override = { :b => 3, :c => 4 }
    for key, value in default
      override[key] ||= default[key]
    end
    override
  end

end