Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemathinc
GitHub Repository: sagemathinc/wapython
Path: blob/main/python/bench/src/call.py
1067 views
1
from bench import register, all
2
3
4
# Test speed of basic function call
5
def basic_function_call(n=10**6):
6
def cardinality(n):
7
return n
8
9
for i in range(n):
10
cardinality(i)
11
12
13
register("basic function call", basic_function_call)
14
15
16
# Test speed of object __call__
17
def object_function_call(n=10**6):
18
class IntegerRing:
19
def __call__(self, n):
20
return n
21
22
ZZ = IntegerRing()
23
for i in range(n):
24
ZZ(i)
25
26
27
register("dunder __call__ function call", object_function_call)
28
29
if __name__ == '__main__':
30
all()
31
32