File tree Expand file tree Collapse file tree 1 file changed +17
-18
lines changed
python-callable-instances Expand file tree Collapse file tree 1 file changed +17
-18
lines changed Original file line number Diff line number Diff line change @@ -16,22 +16,21 @@ class ExecutionTimer:
1616 def __init__ (self , repetitions = 1 ):
1717 self .repetitions = repetitions
1818
19+ def __call__ (self , func ):
20+ def timer (* args , ** kwargs ):
21+ result = None
22+ total_time = 0
23+ print (f"Running { func .__name__ } () { self .repetitions } times" )
24+ for _ in range (self .repetitions ):
25+ start = time .time ()
26+ result = func (* args , ** kwargs )
27+ end = time .time ()
28+ total_time += end - start
29+ average_time = total_time / self .repetitions
30+ print (
31+ f"{ func .__name__ } () takes "
32+ f"{ average_time * 1000 :.4f} ms on average"
33+ )
34+ return result
1935
20- def __call__ (self , func ):
21- def timer (* args , ** kwargs ):
22- result = None
23- total_time = 0
24- print (f"Running { func .__name__ } () { self .repetitions } times" )
25- for _ in range (self .repetitions ):
26- start = time .time ()
27- result = func (* args , ** kwargs )
28- end = time .time ()
29- total_time += end - start
30- average_time = total_time / self .repetitions
31- print (
32- f"{ func .__name__ } () takes "
33- f"{ average_time * 1000 :.4f} ms on average"
34- )
35- return result
36-
37- return timer
36+ return timer
You can’t perform that action at this time.
0 commit comments