diff options
Diffstat (limited to 'benchmark/hash_aref_dsym_long.yml')
-rw-r--r-- | benchmark/hash_aref_dsym_long.yml | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/benchmark/hash_aref_dsym_long.yml b/benchmark/hash_aref_dsym_long.yml new file mode 100644 index 0000000000..5488e052cd --- /dev/null +++ b/benchmark/hash_aref_dsym_long.yml @@ -0,0 +1,25 @@ +prelude: | + # [ruby-core:70129] [Bug #11396] +benchmark: + hash_aref_dsym_long: | + collection_size = 200000 + sample_size = 10000 + + values = (1..collection_size).to_a.map do |x| + "THIS IS A LONGER STRING THAT IS ALSO UNIQUE #{x}" + end + + symbol_hash = {} + + values.each do |x| + symbol_hash[x.to_sym] = 1 + end + + # use the same samples each time to minimize deviations + rng = Random.new(0) + symbol_sample_array = values.sample(sample_size, random: rng).map(&:to_sym) + + 3000.times do + symbol_sample_array.each { |x| symbol_hash[x] } + end +loop_count: 1 |