We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents d3bb797 + 78d9081 commit 9639dd2Copy full SHA for 9639dd2
1 file changed
Week04/decorators_ece_akinci.py
@@ -0,0 +1,27 @@
1
+import time
2
+import tracemalloc
3
+
4
+def performance(func):
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
+ start_mem = tracemalloc.get_traced_memory()[1]
15
16
+ result = func(*args, **kwargs)
17
18
+ end_time = time.time()
19
+ end_mem = tracemalloc.get_traced_memory()[1]
20
+ tracemalloc.stop()
21
22
+ setattr(performance, 'total_time', performance.total_time + (end_time - start_time))
23
+ setattr(performance, 'total_mem', performance.total_mem + (end_mem - start_mem))
24
25
+ return result
26
27
+ return wrapper
0 commit comments