diff --git a/Week04/decorators_ridvan_celebi.py b/Week04/decorators_ridvan_celebi.py new file mode 100644 index 00000000..0cc68707 --- /dev/null +++ b/Week04/decorators_ridvan_celebi.py @@ -0,0 +1,20 @@ +import time +import tracemalloc + +def performance(fn): + def _performance(*args, **kwargs): + if(not hasattr(performance,"counter")): + setattr(performance,"counter",0) + setattr(performance,"total_time",0) + setattr(performance,"mem",0) + performance.counter += 1 + tracemalloc.start() + start_time = time.time() + result = fn(*args, **kwargs) + end_time = time.time() + current,peak = tracemalloc.get_traced_memory() + tracemalloc.stop() + performance.total_mem = peak + performance.total_time += end_time-start_time + return result + return _performance