From 313d52e6da7a8c4428a9c941a407ea759ec4848e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=9Eerif=20Burak=20Kalkan?= <112409866+serif1705@users.noreply.github.com> Date: Wed, 27 Nov 2024 14:12:38 +0300 Subject: [PATCH] Create decorators_serifburak_kalkan.py --- Week04/decorators_serifburak_kalkan.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Week04/decorators_serifburak_kalkan.py diff --git a/Week04/decorators_serifburak_kalkan.py b/Week04/decorators_serifburak_kalkan.py new file mode 100644 index 00000000..186d4243 --- /dev/null +++ b/Week04/decorators_serifburak_kalkan.py @@ -0,0 +1,26 @@ +import time +import tracemalloc + +def performance(func): + setattr(performance, 'counter', 0) + setattr(performance, 'total_time', 0) + setattr(performance, 'total_mem', 0) + + def wrapper(*args, **kwargs): + setattr(performance, 'counter', performance.counter + 1) + + start_time = time.time() + tracemalloc.start() + start_mem = tracemalloc.get_traced_memory()[1] + result = func(*args, **kwargs) + + end_time = time.time() + end_mem = tracemalloc.get_traced_memory()[1] + tracemalloc.stop() + + setattr(performance, 'total_time', performance.total_time + (end_time - start_time)) + setattr(performance, 'total_mem', performance.total_mem + (end_mem - start_mem)) + + return result + + return wrapper