Skip to content

Commit 109b6b1

Browse files
authored
Merge pull request #617 from esrakaya64/patch-5
Create decorators_esra_kaya.py
2 parents 7568b36 + 97d69d6 commit 109b6b1

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

Week04/decorators_esra_kaya.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import time
2+
import sys
3+
4+
def performance(func):
5+
6+
if not hasattr(performance, 'counter'):
7+
setattr(performance, 'counter', 0)
8+
9+
if not hasattr(performance, 'total_time'):
10+
setattr(performance, 'total_time', 0.0)
11+
12+
if not hasattr(performance, 'total_mem'):
13+
setattr(performance, 'total_mem', 0)
14+
15+
def wrapper(*args, **kwargs):
16+
start_time = time.time()
17+
memory_usage=sys.getsizeof(func(*args, **kwargs))
18+
end_time = time.time()
19+
20+
setattr(performance, 'counter', getattr(performance, 'counter') + 1)
21+
setattr(performance, 'total_time', getattr(performance, 'total_time') + (end_time - start_time))
22+
setattr(performance, 'total_mem', getattr(performance, 'total_mem') + memory_usage)
23+
24+
return func(*args, **kwargs)
25+
26+
return wrapper

0 commit comments

Comments
 (0)