From 430bbc45fe468fae387c6eece323e5de002fc889 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Burak=20Sart=C4=B1k?= Date: Fri, 27 Mar 2026 16:26:58 +0300 Subject: [PATCH 1/2] Create decorators_burak_sartik.py --- Week04/decorators_burak_sartik.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Week04/decorators_burak_sartik.py diff --git a/Week04/decorators_burak_sartik.py b/Week04/decorators_burak_sartik.py new file mode 100644 index 00000000..e1dea52a --- /dev/null +++ b/Week04/decorators_burak_sartik.py @@ -0,0 +1,25 @@ +import time +import tracemalloc + +def performance(func): + def wrapper(*args, **kwargs): + tracemalloc.start() + t1 = time.perf_counter() + + result = func(*args, **kwargs) + + t2 = time.perf_counter() + _, peak = tracemalloc.get_traced_memory() + tracemalloc.stop() + + performance.counter += 1 + performance.total_time += (t2 - t1) + performance.total_mem += peak + + return result + + return wrapper + +performance.counter = 0 +performance.total_time = 0 +performance.total_mem = 0 From 52a068bc4a5f3a2306329aad0f6c136f55490d84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Burak=20Sart=C4=B1k?= Date: Tue, 7 Apr 2026 17:58:25 +0300 Subject: [PATCH 2/2] Update decorators_burak_sartik.py --- Week04/decorators_burak_sartik.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/Week04/decorators_burak_sartik.py b/Week04/decorators_burak_sartik.py index e1dea52a..a5fa740b 100644 --- a/Week04/decorators_burak_sartik.py +++ b/Week04/decorators_burak_sartik.py @@ -2,24 +2,26 @@ import tracemalloc def performance(func): + if not hasattr(performance, 'counter'): + performance.counter = 0 + performance.total_time = 0.0 + performance.total_mem = 0.0 def wrapper(*args, **kwargs): tracemalloc.start() - t1 = time.perf_counter() - + start_time = time.perf_counter() + result = func(*args, **kwargs) - - t2 = time.perf_counter() - _, peak = tracemalloc.get_traced_memory() + + end_time = time.perf_counter() + current_mem, peak_mem = tracemalloc.get_traced_memory() tracemalloc.stop() - + performance.counter += 1 - performance.total_time += (t2 - t1) - performance.total_mem += peak - + performance.total_time += (end_time - start_time) + performance.total_mem += peak_mem + return result - + wrapper.__name__ = func.__name__ + wrapper.__doc__ = func.__doc__ + return wrapper - -performance.counter = 0 -performance.total_time = 0 -performance.total_mem = 0