From 327da6cf0722b0912077edd193dba3b3195746e5 Mon Sep 17 00:00:00 2001 From: rukiye-ilhan <157627117+rukiye-ilhan@users.noreply.github.com> Date: Sat, 26 Oct 2024 00:35:18 +0300 Subject: [PATCH 1/3] Create decorators_rukiye_ilhan.py --- Week04/decorators_rukiye_ilhan.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 Week04/decorators_rukiye_ilhan.py diff --git a/Week04/decorators_rukiye_ilhan.py b/Week04/decorators_rukiye_ilhan.py new file mode 100644 index 00000000..aa30a4d3 --- /dev/null +++ b/Week04/decorators_rukiye_ilhan.py @@ -0,0 +1,22 @@ +import tracemalloc +import time + + +def performance_decoraters(func): + if not hasattr(performance_decoraters ,'counter'): + performance_decoraters.counter = 0 + performance_decoraters.total_time = 0 + performance_decoraters.total_mem = 0 + + def perform(*args,**kwargs): + tracemalloc.start() # start to follow memory + start_time = time.time() + result = func(*args, **kwargs) + end_time = time.time() + used_memory = tracemalloc.get_traced_memory()[1] # [0] gives current memory consumption but [1] gives total(max) memory consumption during thr last fallowing time + tracemalloc.stop() # we started memeory following process only to find how much memory uses by thr called function not the entire program ,so we stop memory following when the jop of function is finished + performance_decoraters.counter += 1 + performance_decoraters.total_time += end_time - start_time + performance_decoraters.total_mem += used_memory + return result + return perform From e11cdb8570249d1bfe52cf2966c2d6dc3ac55824 Mon Sep 17 00:00:00 2001 From: rukiye-ilhan <157627117+rukiye-ilhan@users.noreply.github.com> Date: Mon, 4 Nov 2024 13:05:58 +0300 Subject: [PATCH 2/3] Update decorators_rukiye_ilhan.py --- Week04/decorators_rukiye_ilhan.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Week04/decorators_rukiye_ilhan.py b/Week04/decorators_rukiye_ilhan.py index aa30a4d3..cf40bc10 100644 --- a/Week04/decorators_rukiye_ilhan.py +++ b/Week04/decorators_rukiye_ilhan.py @@ -2,11 +2,11 @@ import time -def performance_decoraters(func): - if not hasattr(performance_decoraters ,'counter'): - performance_decoraters.counter = 0 - performance_decoraters.total_time = 0 - performance_decoraters.total_mem = 0 +def performance(func): + if not hasattr(performance,'counter'): + performance.counter = 0 + performance.total_time = 0 + performance.total_mem = 0 def perform(*args,**kwargs): tracemalloc.start() # start to follow memory From 116ec47bf6e16f88d74cb084f7ceedac5e2dfaef Mon Sep 17 00:00:00 2001 From: rukiye-ilhan <157627117+rukiye-ilhan@users.noreply.github.com> Date: Mon, 4 Nov 2024 13:10:45 +0300 Subject: [PATCH 3/3] Update decorators_rukiye_ilhan.py --- Week04/decorators_rukiye_ilhan.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Week04/decorators_rukiye_ilhan.py b/Week04/decorators_rukiye_ilhan.py index cf40bc10..c7603b77 100644 --- a/Week04/decorators_rukiye_ilhan.py +++ b/Week04/decorators_rukiye_ilhan.py @@ -15,8 +15,8 @@ def perform(*args,**kwargs): end_time = time.time() used_memory = tracemalloc.get_traced_memory()[1] # [0] gives current memory consumption but [1] gives total(max) memory consumption during thr last fallowing time tracemalloc.stop() # we started memeory following process only to find how much memory uses by thr called function not the entire program ,so we stop memory following when the jop of function is finished - performance_decoraters.counter += 1 - performance_decoraters.total_time += end_time - start_time - performance_decoraters.total_mem += used_memory + performance.counter += 1 + performance.total_time += end_time - start_time + performance.total_mem += used_memory return result return perform