diff --git a/Week04/decorators_sergen_maksutlar.py b/Week04/decorators_sergen_maksutlar.py new file mode 100644 index 00000000..3260b014 --- /dev/null +++ b/Week04/decorators_sergen_maksutlar.py @@ -0,0 +1,26 @@ +import time +import tracemalloc + +def performance(f): + if not hasattr(performance, "counter"): + performance.counter = 0 + + if not hasattr(performance, "total_time"): + performance.total_time = 0.0 + + if not hasattr(performance, "total_mem"): + performance.total_mem = 0 + + def _performance(*args, **kwargs): + performance.counter += 1 + + tracemalloc.start() + + x = time.time() + + ret = f(*args, **kwargs) + performance.total_time += time.time() - x + performance.total_mem = tracemalloc.get_traced_memory()[1] + tracemalloc.stop() + return ret + return _performance