← retour aux snippets

tracemalloc: profiler l'allocation mémoire

Mesurer les allocations et identifier les lignes sources responsables.

python profiling #tracemalloc#memory#profile

objectif

Mesurer les allocations et identifier les lignes sources responsables.

code minimal

import tracemalloc
tracemalloc.start()
a = [b"x"*1000 for _ in range(10)]
current, peak = tracemalloc.get_traced_memory()
print(peak >= current >= 0)  # attendu: True
tracemalloc.stop()

utilisation

import tracemalloc
tracemalloc.start()
# ... votre code ...
snapshot = tracemalloc.take_snapshot()
stats = snapshot.statistics("lineno")
print(isinstance(stats, list))

variante(s) utile(s)

import tracemalloc
tracemalloc.start()
print(tracemalloc.is_tracing())
tracemalloc.stop()

notes

  • Combinez avec statistics(“filename”/“traceback”) pour isoler les hotspots.
  • Démarrez tôt pour capturer les allocations initiales.