Skip to content

Python:tracemalloc

The memory leakage detective

import tracemalloc

def fib(n):
    return n if n < 2 else fib(n - 1) + fib(n - 2)

tracemalloc.start()
for i in range(25, 35):
    print(f"{i}th fibonacci number is, {fib(i)}")

snapshot = tracemalloc.take_snapshot()
top_stats = snapshot.statistics("lineno")

print("---------------------------------------------------------")
[print(stat) for stat in top_stats]
tracemalloc.start()

snap1 = tracemalloc.take_snapshot()
fib(40)
snap2 = tracemalloc.take_snapshot()

top_stats = snap2.compare_to(snap1, "lineno")

for stat in top_stats:
    print(stat)

See also

Favorite site