From 53085acdfefc26a85fa368823951cc7bd44b52e0 Mon Sep 17 00:00:00 2001 From: mertdoganaygun <163443178+mertdoganaygun@users.noreply.github.com> Date: Sun, 5 Jan 2025 17:38:38 +0300 Subject: [PATCH] =?UTF-8?q?decorators=5Fmert=5Fdo=C4=9Fan=5Fayg=C3=BCn.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...orators_mert_do\304\237an_ayg\303\274n.py" | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 "Week04/decorators_mert_do\304\237an_ayg\303\274n.py" diff --git "a/Week04/decorators_mert_do\304\237an_ayg\303\274n.py" "b/Week04/decorators_mert_do\304\237an_ayg\303\274n.py" new file mode 100644 index 00000000..1304daf6 --- /dev/null +++ "b/Week04/decorators_mert_do\304\237an_ayg\303\274n.py" @@ -0,0 +1,22 @@ +import time +import tracemalloc + + +def track_performance(func): + setattr(track_performance, 'call_count', 0) + setattr(track_performance, 'cumulative_time', 0.0) + setattr(track_performance, 'cumulative_memory', 0.0) + + def wrapper(*args, **kwargs): + tracemalloc.start() + start_time = time.time() + result = func(*args, **kwargs) + end_time = time.time() + current_memory, peak_memory = tracemalloc.get_traced_memory() + tracemalloc.stop() + setattr(track_performance, 'call_count', getattr(track_performance, 'call_count') + 1) + setattr(track_performance, 'cumulative_time', getattr(track_performance, 'cumulative_time') + (end_time - start_time)) + setattr(track_performance, 'cumulative_memory', getattr(track_performance, 'cumulative_memory') + peak_memory) + return result + + return wrapper