зеркало из https://github.com/github/ruby.git
Add benchmarks for setting / getting ivars on generics
This commit is contained in:
Родитель
aed1539ec5
Коммит
f375280d5a
|
@ -0,0 +1,17 @@
|
||||||
|
prelude: |
|
||||||
|
class C < Array
|
||||||
|
attr_reader :a, :b, :c
|
||||||
|
def initialize
|
||||||
|
@a = nil
|
||||||
|
@b = nil
|
||||||
|
@c = nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
c = C.new
|
||||||
|
benchmark:
|
||||||
|
vm_ivar_generic_get: |
|
||||||
|
c.a
|
||||||
|
c.b
|
||||||
|
c.c
|
||||||
|
loop_count: 30000000
|
|
@ -0,0 +1,14 @@
|
||||||
|
prelude: |
|
||||||
|
class C < Array
|
||||||
|
def set_ivars
|
||||||
|
@a = nil
|
||||||
|
@b = nil
|
||||||
|
@c = nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
c = C.new
|
||||||
|
benchmark:
|
||||||
|
vm_ivar_generic_set: |
|
||||||
|
c.set_ivars
|
||||||
|
loop_count: 30000000
|
Загрузка…
Ссылка в новой задаче