From db3898fe905cf19a65ba8edfe13774a3613943fc Mon Sep 17 00:00:00 2001 From: ko1 Date: Tue, 16 Oct 2012 20:37:25 +0000 Subject: * benchmark/bm_vm1_yield.rb: add a benchmark to measure `yield' (invoke empty block) performance. * benchmark/bm_vm2_method_with_block.rb: add a benchmark to measure method invocation with empty block. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++++ benchmark/bm_vm1_yield.rb | 10 ++++++++++ benchmark/bm_vm2_method_with_block.rb | 9 +++++++++ 3 files changed, 27 insertions(+) create mode 100644 benchmark/bm_vm1_yield.rb create mode 100644 benchmark/bm_vm2_method_with_block.rb diff --git a/ChangeLog b/ChangeLog index 9e37cecfd1..568576e1c6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Wed Oct 17 05:35:37 2012 Koichi Sasada + + * benchmark/bm_vm1_yield.rb: add a benchmark to measure `yield' + (invoke empty block) performance. + + * benchmark/bm_vm2_method_with_block.rb: add a benchmark to measure + method invocation with empty block. + Wed Oct 17 05:05:07 2012 Koichi Sasada * vm_insnhelper.c (vm_invoke_block): vm_caller_setup_args() can skip diff --git a/benchmark/bm_vm1_yield.rb b/benchmark/bm_vm1_yield.rb new file mode 100644 index 0000000000..775597cea6 --- /dev/null +++ b/benchmark/bm_vm1_yield.rb @@ -0,0 +1,10 @@ +def m + i = 0 + while i<30_000_000 # while loop 1 + i += 1 + yield + end +end + +m{} + diff --git a/benchmark/bm_vm2_method_with_block.rb b/benchmark/bm_vm2_method_with_block.rb new file mode 100644 index 0000000000..b4efb4f520 --- /dev/null +++ b/benchmark/bm_vm2_method_with_block.rb @@ -0,0 +1,9 @@ +def m + nil +end + +i = 0 +while i<6_000_000 # benchmark loop 2 + i += 1 + m{}; m{}; m{}; m{}; m{}; m{}; m{}; m{}; +end -- cgit v1.2.3