cProfile/profiling.tracing¶
Üblicherweise wird in der Kommandozeile mit cProfile oder ab
Python 3.15 mit profiling.tracing ein Profil erstellt, das anschließend
dessen Profilstatistiken anzeigt. Dies kann jedoch schnell sehr mühsam sein,
insbesondere beim Lesen umfangreicher Profile oder beim Sortieren der Daten.
Flexibler ist, die Profildaten stattdessen in einer Datei zu speichern, die dann
mit dem pstats-Modul gelesen werden kann:
uv run python -m cProfile -o PROFILE (SCRIPT | -m {MODULE)führt cProfile zum Profilerstellung eures Script oder eures Moduls aus und speichert die Ergebnisse in einer Datei, die durch die Option-oangegeben wird.uv run python -m (cProfile | profiling.tracing) -o profile (SCRIPT | -m MODULE) <<< $'sort cumtimenstats 100' | lessübergibt die folgenden beiden Befehle an daspstats-Modul, wobei die$-Syntax verwendet wird.sort cumtimesortiert die Ausgabe nach kumulativer Zeit, beginnend mit der größten.
Um nach anderen Metriken zu sortieren, könnt ihr
cumtimeeinfach durch einen Wert auspstats.Stats.sort_stats()ersetzen.stats 100zeigt die ersten 100 Zeilen des Profils an.
Die Ausgabe wird an
lessübergeben, sodass ihr euch die Ergebnisse anschauen könnt. Drückt q, um den Vorgang zu beenden, wenn ihr fertig seid.Vor und nach der Optimierung lassen sich einfach vergleichen, z. B. mit:
$ uv run python -m cProfile -o before.profile main.py $ git switch -c main_optimisation ... $ uv run python -m cProfile -o after.profile main.py