Mercurial > hgrepos > Python > libs > ConfigMix
view tests/_perf_lookups.py @ 699:c076de854ac6 v0.21.4
+++++ v0.21.4
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Wed, 14 Jun 2023 09:19:34 +0200 |
| parents | 60683361ebed |
| children |
line wrap: on
line source
from __future__ import print_function import timeit setup=''' XGLOBAL= 5 class A: xclass = 5 def __init__(self): self.xinstance = 5 def f1(self): xlocal = 5 x = self.xinstance def f2(self): xlocal = 5 x = A.xclass def f3(self): xlocal = 5 x = XGLOBAL def f4(self): xlocal = 5 x = xlocal def f5(self): xlocal = 5 x = self.xclass a = A() ''' num = 300000000 num = 90000000 print('access via instance variable: %.3f' % timeit.timeit('a.f1()', setup=setup, number=num) ) print('access via class variable (via classname): %.3f' % timeit.timeit('a.f2()', setup=setup, number=num) ) print('access via class variable (via self): %.3f' % timeit.timeit('a.f5()', setup=setup, number=num) ) print('access via module variable: %.3f' % timeit.timeit('a.f3()', setup=setup, number=num) ) print('access via local variable: %.3f' % timeit.timeit('a.f4()', setup=setup, number=num) )
