Das Python-Wiki ist eine großartige Seite für Profiling-Ressourcen: http://wiki.python.org/moin/PythonSpeed/PerformanceTips#Profiling_Code
sowie die Python-Dokumente: http://docs.python.org/library/profile.html
wie von Chris Lawlor gezeigt, ist cProfile ein großartiges Werkzeug und kann leicht zum Drucken auf dem Bildschirm verwendet werden:
python -m cProfile -s time mine.py <args>
oder zu archivieren:
python -m cProfile -o output.file mine.py <args>
PS> Wenn Sie Ubuntu benutzen, stellen Sie sicher, dass Sie python-profile installieren
apt-get install python-profiler
Wenn Sie in eine Datei ausgeben, können Sie mit den folgenden Tools schöne Visualisierungen erhalten
PyCallGraph : ein Werkzeug zur Erstellung von Aufrufdiagrammen
installieren:
pip install pycallgraph
laufen:
pycallgraph mine.py args
Ansicht:
gimp pycallgraph.png
Sie können die png-Datei mit einem beliebigen Programm anzeigen, ich habe Gimp verwendet.
Leider bekomme ich oft
dot: Graph ist zu groß für cairo-renderer Bitmaps. Skalierung um 0,257079 zur Anpassung
was meine Bilder unbrauchbar klein macht. Deshalb erstelle ich in der Regel svg-Dateien:
pycallgraph -f svg -o pycallgraph.svg mine.py <args>
PS> Stellen Sie sicher, dass Sie Graphviz installieren (das das Dot-Programm bereitstellt):
pip install graphviz
Alternatives Graphing mit gprof2dot via @maxy / @quodlibetor :
pip install gprof2dot
python -m cProfile -o profile.pstats mine.py
gprof2dot -f pstats profile.pstats | dot -Tsvg -o mine.svg