From 92f72cb8d144d289f83cd0de6120baac807550a1 Mon Sep 17 00:00:00 2001 From: ko1 Date: Mon, 20 Aug 2007 19:11:20 +0000 Subject: * benchmark/bm_vm2_case.rb: add a new benchmark. YARV optimize case/when syntax. If every conditions are literal (such as Symbol, Fixnum, String), dispatch calc order will be O(1). git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ benchmark/bm_vm2_case.rb | 14 ++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 benchmark/bm_vm2_case.rb diff --git a/ChangeLog b/ChangeLog index 0eb89a7b0..67c4275bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Tue Aug 21 04:09:06 2007 Koichi Sasada + + * benchmark/bm_vm2_case.rb: add a new benchmark. + YARV optimize case/when syntax. If every conditions + are literal (such as Symbol, Fixnum, String), dispatch + calc order will be O(1). + Tue Aug 21 04:08:07 2007 Koichi Sasada * test/ruby/test_enumerator.rb: fix last commit. diff --git a/benchmark/bm_vm2_case.rb b/benchmark/bm_vm2_case.rb new file mode 100644 index 000000000..efbd366eb --- /dev/null +++ b/benchmark/bm_vm2_case.rb @@ -0,0 +1,14 @@ +i=0 +while i<6000000 # while loop 2 + case :foo + when :bar + raise + when :baz + raise + when :boo + raise + when :foo + i+=1 + end +end + -- cgit