summaryrefslogtreecommitdiff
path: root/benchmark/hash_aref_dsym_long.yml
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark/hash_aref_dsym_long.yml')
-rw-r--r--benchmark/hash_aref_dsym_long.yml25
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 0000000..5488e05
--- /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