Skip to content

Commit 9862d6b

Browse files
authored
Merge pull request canbula#502 from BerkeAlpaslan/patch-5
Create decorators_berke_alpaslan.py
2 parents 228e44a + eda3a3d commit 9862d6b

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

Week04/decorators_berke_alpaslan.py

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import time
2+
import tracemalloc
3+
4+
5+
def performance(func):
6+
setattr(performance, 'counter', 0)
7+
setattr(performance, 'total_time', 0.0)
8+
setattr(performance, 'total_mem', 0.0)
9+
10+
def wrapper(*args, **kwargs):
11+
tracemalloc.start()
12+
start_time = time.time()
13+
result = func(*args, **kwargs)
14+
end_time = time.time()
15+
current, peak = tracemalloc.get_traced_memory()
16+
tracemalloc.stop()
17+
setattr(performance, 'counter', getattr(performance, 'counter') + 1)
18+
setattr(performance, 'total_time', getattr(performance, 'total_time') + end_time - start_time)
19+
setattr(performance, 'total_mem', getattr(performance, 'total_mem') + peak)
20+
return result
21+
22+
return wrapper

0 commit comments

Comments
 (0)