summaryrefslogtreecommitdiff
path: root/benchmark
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark')
-rw-r--r--benchmark/bm_hash_aref_sym.rb7
-rw-r--r--benchmark/bm_hash_aref_sym_long.rb7
2 files changed, 12 insertions, 2 deletions
diff --git a/benchmark/bm_hash_aref_sym.rb b/benchmark/bm_hash_aref_sym.rb
index 54298ffc9e..f75d163fe6 100644
--- a/benchmark/bm_hash_aref_sym.rb
+++ b/benchmark/bm_hash_aref_sym.rb
@@ -1,4 +1,9 @@
h = {}
-syms = ('a'..'z').to_a.map(&:to_sym)
+syms = ('a'..'z').to_a
+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] } }
diff --git a/benchmark/bm_hash_aref_sym_long.rb b/benchmark/bm_hash_aref_sym_long.rb
index a9be4059e6..9dab8df7be 100644
--- a/benchmark/bm_hash_aref_sym_long.rb
+++ b/benchmark/bm_hash_aref_sym_long.rb
@@ -3,6 +3,11 @@ 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?
-].map!(&:to_sym)
+]
+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] } }