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.
This commit is contained in:
Jemma Issroff 2022-07-15 10:12:51 -04:00 коммит произвёл Peter Zhu
Родитель 7424ea184f
Коммит c53439294e
3 изменённых файлов: 14 добавлений и 7 удалений

Просмотреть файл

@ -1,12 +1,14 @@
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

Просмотреть файл

@ -1,6 +1,6 @@
prelude: |
class C
def initialize
def set_ivars
@a = nil
@b = nil
@c = nil
@ -8,7 +8,9 @@ prelude: |
@e = nil
end
end
c = C.new
benchmark:
vm_ivar_extended_obj_init: |
C.new
c.set_ivars
loop_count: 30000000

Просмотреть файл

@ -1,6 +1,6 @@
prelude: |
class A
def initialize
def set_ivars
@a = nil
@b = nil
@c = nil
@ -10,8 +10,11 @@ prelude: |
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