We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 2f57771 + 878370d commit 8d296b8Copy full SHA for 8d296b8
Week04/decorators_basak_kocan.py
@@ -0,0 +1,25 @@
1
+import time
2
+import tracemalloc
3
+
4
+def performance(fn):
5
+ setattr(performance, 'counter', 0)
6
+ setattr(performance, 'total_time', 0)
7
+ setattr(performance, 'total_mem', 0)
8
9
+ def wrapper(*args, **kwargs):
10
+ setattr(performance, 'counter', performance.counter +1)
11
12
+ start_time = time.time()
13
+ tracemalloc.start()
14
+ result = fn(*args, **kwargs)
15
16
+ end_time = time.time()
17
+ current, peak = tracemalloc.get_traced_memory()
18
+ tracemalloc.stop()
19
20
+ setattr(performance, 'total_time', performance.total_time + (end_time - start_time))
21
+ setattr(performance, 'total_mem', performance.total_mem + peak)
22
23
+ return result
24
25
+ return wrapper
0 commit comments