diff --git a/test/Benchmark/app/benchmark.rb b/test/Benchmark/app/benchmark.rb index 4eee61bc..e99951c3 100644 --- a/test/Benchmark/app/benchmark.rb +++ b/test/Benchmark/app/benchmark.rb @@ -25,6 +25,9 @@ autorelease_pool { bm_range } puts "*** String ***" autorelease_pool { bm_string } +puts "*** Symbol ***" +autorelease_pool { bm_symbol } + puts "*** Time ***" autorelease_pool { bm_time } diff --git a/test/Benchmark/app/benchmark/string.rb b/test/Benchmark/app/benchmark/string.rb index 29455b7a..4047069d 100644 --- a/test/Benchmark/app/benchmark/string.rb +++ b/test/Benchmark/app/benchmark/string.rb @@ -14,6 +14,7 @@ def bm_string string_split(x) string_to_f(x) string_to_i(x) + string_to_sym(x) end end diff --git a/test/Benchmark/app/benchmark/string/to_sym.rb b/test/Benchmark/app/benchmark/string/to_sym.rb new file mode 100644 index 00000000..20b475fc --- /dev/null +++ b/test/Benchmark/app/benchmark/string/to_sym.rb @@ -0,0 +1,9 @@ +def string_to_sym(x) + string = "x" * 30 + + x.report "to_sym" do + 1000000.times do + string.to_sym + end + end +end diff --git a/test/Benchmark/app/benchmark/symbol.rb b/test/Benchmark/app/benchmark/symbol.rb new file mode 100644 index 00000000..10289e6d --- /dev/null +++ b/test/Benchmark/app/benchmark/symbol.rb @@ -0,0 +1,5 @@ +def bm_symbol + Benchmark.benchmark("", 30, "%r\n") do |x| + symbol_to_s(x) + end +end diff --git a/test/Benchmark/app/benchmark/symbol/to_s.rb b/test/Benchmark/app/benchmark/symbol/to_s.rb new file mode 100644 index 00000000..0f734497 --- /dev/null +++ b/test/Benchmark/app/benchmark/symbol/to_s.rb @@ -0,0 +1,9 @@ +def symbol_to_s(x) + symbol = :"hello world" + + x.report "to_s" do + 1000000.times do + symbol.to_s + end + end +end