# 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()