Skip to content
Browse files

* 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
  • Loading branch information...
1 parent 9182dab commit db3898fe905cf19a65ba8edfe13774a3613943fc @ko1 ko1 committed Oct 16, 2012
Showing with 27 additions and 0 deletions.
  1. +8 −0 ChangeLog
  2. +10 −0 benchmark/bm_vm1_yield.rb
  3. +9 −0 benchmark/bm_vm2_method_with_block.rb
View
8 ChangeLog
@@ -1,3 +1,11 @@
+Wed Oct 17 05:35:37 2012 Koichi Sasada <ko1@atdot.net>
+
+ * 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 <ko1@atdot.net>
* vm_insnhelper.c (vm_invoke_block): vm_caller_setup_args() can skip
View
10 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{}
+
View
9 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

0 comments on commit db3898f

Please sign in to comment.
Something went wrong with that request. Please try again.