ruby-changes:72562
From: Jemma <ko1@a...>
Date: Fri, 15 Jul 2022 23:29:55 +0900 (JST)
Subject: [ruby-changes:72562] c53439294e (master): Fixes ivar benchmarks to not depend on object allocation
https://git.ruby-lang.org/ruby.git/commit/?id=c53439294e From c53439294e390595c88c6f3094021ffc7c0147e1 Mon Sep 17 00:00:00 2001 From: Jemma Issroff <jemmaissroff@g...> Date: Fri, 15 Jul 2022 10:12:51 -0400 Subject: Fixes ivar benchmarks to not depend on object allocation Prior to this change, we were measuring object allocation as well as setting instance variables within ivar benchmarks. With this change, we now only measure setting instance variables within ivar benchmarks. --- benchmark/vm_ivar_embedded_obj_init.yml | 6 ++++-- benchmark/vm_ivar_extended_obj_init.yml | 6 ++++-- benchmark/vm_ivar_set_subclass.yml | 9 ++++++--- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/benchmark/vm_ivar_embedded_obj_init.yml b/benchmark/vm_ivar_embedded_obj_init.yml index eed6d4c0b9..74fe20a630 100644 --- a/benchmark/vm_ivar_embedded_obj_init.yml +++ b/benchmark/vm_ivar_embedded_obj_init.yml @@ -1,12 +1,14 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm_ivar_embedded_obj_init.yml#L1 prelude: | class C - def initialize + def set_ivars @a = nil @b = nil @c = nil end end + + c = C.new benchmark: vm_ivar_embedded_obj_init: | - C.new + c.set_ivars loop_count: 30000000 diff --git a/benchmark/vm_ivar_extended_obj_init.yml b/benchmark/vm_ivar_extended_obj_init.yml index 994e9e6c49..f054bab282 100644 --- a/benchmark/vm_ivar_extended_obj_init.yml +++ b/benchmark/vm_ivar_extended_obj_init.yml @@ -1,6 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm_ivar_extended_obj_init.yml#L1 prelude: | class C - def initialize + def set_ivars @a = nil @b = nil @c = nil @@ -8,7 +8,9 @@ prelude: | https://github.com/ruby/ruby/blob/trunk/benchmark/vm_ivar_extended_obj_init.yml#L8 @e = nil end end + + c = C.new benchmark: vm_ivar_extended_obj_init: | - C.new + c.set_ivars loop_count: 30000000 diff --git a/benchmark/vm_ivar_set_subclass.yml b/benchmark/vm_ivar_set_subclass.yml index 2653d36ded..bc8bf5bf6b 100644 --- a/benchmark/vm_ivar_set_subclass.yml +++ b/benchmark/vm_ivar_set_subclass.yml @@ -1,6 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/benchmark/vm_ivar_set_subclass.yml#L1 prelude: | class A - def initialize + def set_ivars @a = nil @b = nil @c = nil @@ -10,8 +10,11 @@ prelude: | https://github.com/ruby/ruby/blob/trunk/benchmark/vm_ivar_set_subclass.yml#L10 end class B < A; end class C < A; end + + b = B.new + c = C.new benchmark: vm_ivar_init_subclass: | - B.new - C.new + b.set_ivars + c.set_ivars loop_count: 3000000 -- cgit v1.2.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/