@@ -542,26 +542,28 @@ Comparison:
542542 Hash#merge: 409.6 i/s - 24.00x slower
543543```
544544
545- ##### ` Hash #merge({} )` vs ` Hash#dup# merge! ({}) ` vs ` {}# merge!(Hash )` [ code] ( code/hash/merge-vs-dup- merge-bang-vs -merge-bang.rb )
545+ ##### ` {} #merge!(Hash )` vs ` Hash#merge({}) ` vs ` Hash#dup# merge!({} )` [ code] ( code/hash/merge-bang- vs-merge-vs-dup -merge-bang.rb )
546546
547- When we don't want to modify the original hash, and we want duplicates to be created
547+ > When we don't want to modify the original hash, and we want duplicates to be created
548+ > See [ #42 ] ( https://github.com/JuanitoFatas/fast-ruby/pull/42#issue-93502261 ) for more details.
548549
549550```
550- $ ruby -v code/hash/merge-vs-dup-merge-bang-vs-merge-bang.rb
551- ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]
551+ $ ruby -v code/hash/merge-bang-vs-merge-vs-dup-merge-bang.rb
552+ ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]
553+
552554Calculating -------------------------------------
553- Hash #merge({} ) 603.000 i/100ms
554- Hash#dup# merge! ({}) 650 .000 i/100ms
555- {}# merge!(Hash ) 1.763k i/100ms
555+ {} #merge!(Hash ) 1.082k i/100ms
556+ Hash#merge({}) 422 .000 i/100ms
557+ Hash#dup# merge!({} ) 419.000 i/100ms
556558-------------------------------------------------
557- Hash #merge({} ) 6.593k (± 7.6 %) i/s - 33.165k
558- Hash#dup# merge! ({}) 6.591k (± 5.2 %) i/s - 33.150k
559- {}# merge!(Hash ) 17.654k (± 3.0 %) i/s - 89.913k
559+ {} #merge!(Hash ) 11.161k (± 5.1 %) i/s - 56.264k
560+ Hash#merge({}) 4.449k (± 3.8 %) i/s - 22.366k
561+ Hash#dup# merge!({} ) 4.340k (± 6.2 %) i/s - 21.788k
560562
561563Comparison:
562- {}#merge!(Hash): 17654.0 i/s
563- Hash#merge({}): 6592.7 i/s - 2.68x slower
564- Hash#dup#merge!({}): 6591.2 i/s - 2.68x slower
564+ {}#merge!(Hash): 11161.3 i/s
565+ Hash#merge({}): 4449.4 i/s - 2.51x slower
566+ Hash#dup#merge!({}): 4340.3 i/s - 2.57x slower
565567```
566568
567569##### ` Hash#sort_by ` vs ` Hash#sort ` [ code] ( code/hash/hash-key-sort_by-vs-sort.rb )
0 commit comments