feat: add performance analysis code
This commit is contained in:
parent
78617e6130
commit
184f4ff491
2 changed files with 77 additions and 0 deletions
41
complexity-analysis/direct.py
Normal file
41
complexity-analysis/direct.py
Normal file
|
@ -0,0 +1,41 @@
|
|||
# importing the memory tracking module
|
||||
import tracemalloc
|
||||
from random import random
|
||||
from math import floor, sqrt
|
||||
#from statistics import mean, variance
|
||||
from time import perf_counter
|
||||
|
||||
# starting the monitoring
|
||||
tracemalloc.start()
|
||||
|
||||
start_time = perf_counter()
|
||||
|
||||
# store memory consumption before
|
||||
current_before, peak_before = tracemalloc.get_traced_memory()
|
||||
|
||||
N = 10**6
|
||||
Tot = 0
|
||||
Tot2 = 0
|
||||
for _ in range(N):
|
||||
item = random()
|
||||
Tot += item
|
||||
Tot2 += item ** 2
|
||||
mean = Tot / N
|
||||
variance = Tot2 / (N-1) - mean**2
|
||||
|
||||
# store memory after
|
||||
current_after, peak_after = tracemalloc.get_traced_memory()
|
||||
|
||||
end_time = perf_counter()
|
||||
|
||||
print("mean :", mean)
|
||||
print("variance :", variance)
|
||||
|
||||
# displaying the memory usage
|
||||
print("Used memory before : {} B (current), {} B (peak)".format(current_before,peak_before))
|
||||
print("Used memory after : {} B (current), {} B (peak)".format(current_after,peak_after))
|
||||
print("Used memory : {} B".format(peak_after - current_before))
|
||||
print("Time : {} ms".format((end_time - start_time) * 1000))
|
||||
|
||||
# stopping the library
|
||||
tracemalloc.stop()
|
36
complexity-analysis/using_libs.py
Normal file
36
complexity-analysis/using_libs.py
Normal file
|
@ -0,0 +1,36 @@
|
|||
# importing the memory tracking module
|
||||
import tracemalloc
|
||||
from random import random
|
||||
from math import floor, sqrt
|
||||
from statistics import mean, variance
|
||||
from time import perf_counter
|
||||
|
||||
# starting the monitoring
|
||||
tracemalloc.start()
|
||||
|
||||
start_time = perf_counter()
|
||||
|
||||
# store memory consumption before
|
||||
current_before, peak_before = tracemalloc.get_traced_memory()
|
||||
|
||||
N = 10**6
|
||||
values = [random() for _ in range(N)]
|
||||
mean = mean(values)
|
||||
variance = variance(values)
|
||||
|
||||
# store memory after
|
||||
current_after, peak_after = tracemalloc.get_traced_memory()
|
||||
|
||||
end_time = perf_counter()
|
||||
|
||||
print("mean :", mean)
|
||||
print("variance :", variance)
|
||||
|
||||
# displaying the memory usage
|
||||
print("Used memory before : {} B (current), {} B (peak)".format(current_before,peak_before))
|
||||
print("Used memory after : {} B (current), {} B (peak)".format(current_after,peak_after))
|
||||
print("Used memory : {} B".format(peak_after - current_before))
|
||||
print("Time : {} ms".format((end_time - start_time) * 1000))
|
||||
|
||||
# stopping the library
|
||||
tracemalloc.stop()
|
Loading…
Reference in a new issue