From c629aecbc810e8014a88943a2b3ddcb716aa6ffb 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: svn+ssh://ci.ruby-lang.org/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 0eb89a7b0a..67c4275bb0 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 0000000000..efbd366ebb --- /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 v1.2.3