mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
cb87005f69
* benchmark/bm_hash_aref_dsym.rb: new benchmark * benchmark/bm_hash_aref_dsym_long.rb: ditto * benchmark/bm_hash_aref_fix.rb: ditto [ruby-core:70129] [Bug #11396] pointed out we need to consider more cases for hashing. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
21 lines
474 B
Ruby
21 lines
474 B
Ruby
# [ruby-core:70129] [Bug #11396]
|
|
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
|