Skip to content

Commit 864ed54

Browse files
committed
little fix for the hash merge comparison
1 parent b7a8b74 commit 864ed54

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -707,21 +707,21 @@ Comparison:
707707
708708
```
709709
$ ruby -v code/hash/merge-bang-vs-merge-vs-dup-merge-bang.rb
710-
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]
710+
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]
711711
712712
Calculating -------------------------------------
713-
{}#merge!(Hash) 1.082k i/100ms
714-
Hash#merge({}) 422.000 i/100ms
715-
Hash#dup#merge!({}) 419.000 i/100ms
713+
{}#merge!(Hash) do end 2.006k i/100ms
714+
Hash#merge({}) 762.000 i/100ms
715+
Hash#dup#merge!({}) 736.000 i/100ms
716716
-------------------------------------------------
717-
{}#merge!(Hash) 11.161k5.1%) i/s - 56.264k
718-
Hash#merge({}) 4.449k3.8%) i/s - 22.366k
719-
Hash#dup#merge!({}) 4.340k6.2%) i/s - 21.788k
717+
{}#merge!(Hash) do end 20.055k2.0%) i/s - 100.300k in 5.003322s
718+
Hash#merge({}) 7.676k1.2%) i/s - 38.862k in 5.063382s
719+
Hash#dup#merge!({}) 7.440k1.1%) i/s - 37.536k in 5.045851s
720720
721721
Comparison:
722-
{}#merge!(Hash): 11161.3 i/s
723-
Hash#merge({}): 4449.4 i/s - 2.51x slower
724-
Hash#dup#merge!({}): 4340.3 i/s - 2.57x slower
722+
{}#merge!(Hash) do end: 20054.8 i/s
723+
Hash#merge({}): 7676.3 i/s - 2.61x slower
724+
Hash#dup#merge!({}): 7439.9 i/s - 2.70x slower
725725
```
726726

727727
##### `Hash#sort_by` vs `Hash#sort` [code](code/hash/hash-key-sort_by-vs-sort.rb)

code/hash/merge-bang-vs-merge-vs-dup-merge-bang.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
def fast
77
ENUM.inject([]) do |accumulator, element|
8-
accumulator << { bar: element }.merge!(ORIGINAL_HASH)
8+
accumulator << ({ bar: element }.merge!(ORIGINAL_HASH){ |_key, left, _right| left })
99
end
1010
end
1111

@@ -22,7 +22,7 @@ def slow_dup
2222
end
2323

2424
Benchmark.ips do |x|
25-
x.report("{}#merge!(Hash)") { fast }
25+
x.report("{}#merge!(Hash) do end") { fast }
2626
x.report("Hash#merge({})") { slow }
2727
x.report("Hash#dup#merge!({})") { slow_dup }
2828
x.compare!

0 commit comments

Comments
 (0)