summaryrefslogtreecommitdiff
path: root/benchmark/hash_new.yml
blob: 9d8e34187f67855317ea8f52a57bc573618d9de8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
prelude: |
  has_hash_with_capa = Hash.instance_method(:initialize).parameters.include?([:key, :capacity])
  strings_1k = 1_000.times.map { |i| -i.to_s.freeze }
  strings_100k = 100_000.times.map { |i| -i.to_s.freeze }
benchmark:
  new: Hash.new
  new_with_capa_1k: |
    h = has_hash_with_capa ? Hash.new(capacity: strings_1k.size) : {}
    strings_1k.each do |x|
      h[x] = true
    end
  new_with_capa_100k: |
    h = has_hash_with_capa ? Hash.new(capacity: strings_100k.size) : {}
    strings_100k.each do |x|
      h[x] = true
    end