mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
098b0ba572
Dynamic symbols hash more slowly because they need extra method dispatch in rb_any_hash. I am not sure if dynamic symbols are a realistic use case as hash keys, so this commit only restores performance when comparing against versions of Ruby which lack dsyms. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
13 lines
428 B
Ruby
13 lines
428 B
Ruby
h = {}
|
|
syms = %w[puts warn syswrite write stat bacon lettuce tomato
|
|
some symbols in this array may already be interned others should not be
|
|
hash browns make good breakfast but not cooked using prime numbers
|
|
shift for division entries delete_if keys exist?
|
|
]
|
|
begin
|
|
syms = eval("%i[#{syms.join(' ')}]")
|
|
rescue SyntaxError # <= 1.9.3
|
|
syms.map!(&:to_sym)
|
|
end
|
|
syms.each { |s| h[s] = s }
|
|
200_000.times { syms.each { |s| h[s] } }
|