diff -r fa51f40875f7 Tools/pybench/Calls.py --- a/Tools/pybench/Calls.py Thu Jun 12 20:13:07 2008 +0200 +++ b/Tools/pybench/Calls.py Thu Jun 12 20:16:53 2008 +0200 @@ -102,6 +102,64 @@ class PythonFunctionCalls(Test): def h(a,b,c,d=1,e=2,f=3): return d,e,f + + # do calls + for i in xrange(self.rounds): + pass + +### + +class ComplexPythonFunctionCalls(Test): + + version = 2.0 + operations = 4*5 + rounds = 100000 + + def test(self): + + # define functions + def f(a,b,c,d=1,e=2,f=3): + return f + + args = 1,2 + kwargs = dict(c=3,d=4,e=5) + + # do calls + for i in xrange(self.rounds): + f(a=i,b=i,c=i) + f(f=i,e=i,d=i,c=2,b=i,a=3) + f(1,b=i,**kwargs) + f(*args,**kwargs) + + f(a=i,b=i,c=i) + f(f=i,e=i,d=i,c=2,b=i,a=3) + f(1,b=i,**kwargs) + f(*args,**kwargs) + + f(a=i,b=i,c=i) + f(f=i,e=i,d=i,c=2,b=i,a=3) + f(1,b=i,**kwargs) + f(*args,**kwargs) + + f(a=i,b=i,c=i) + f(f=i,e=i,d=i,c=2,b=i,a=3) + f(1,b=i,**kwargs) + f(*args,**kwargs) + + f(a=i,b=i,c=i) + f(f=i,e=i,d=i,c=2,b=i,a=3) + f(1,b=i,**kwargs) + f(*args,**kwargs) + + + def calibrate(self): + + # define functions + def f(a,b,c,d=1,e=2,f=3): + return f + + args = 1,2 + kwargs = dict(c=3,d=4,e=5) # do calls for i in xrange(self.rounds):