Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Python Profiling: Ein vollständiger Leitfaden

10. 08. 2024 Aktualisiert: 27. 03. 2026 1 Min. Lesezeit intermediate

Python ist langsam? Vielleicht. Aber messen Sie zuerst, wo.

cProfile

python -m cProfile -s cumulative app.py

snakeviz

python -m cProfile -o profile.prof app.py
snakeviz profile.prof

line_profiler

@profile
def slow_function(): …

Python Profiling: Ein vollständiger Leitfaden

memory_profiler

python -m memory_profiler script.py

py-spy – Sampling ohne Overhead

py-spy record -o profile.svg – python app.py

Optimierung

  • Generators statt Lists
  • dict/set fuer Lookups
  • functools.lru_cache
  • numpy fuer Numerik
  • multiprocessing fuer CPU-bound
  • asyncio fuer I/O-bound

Wann welches Tool verwenden

cProfile ist die Standardwahl fuer einen Gesamtueberblick — es zeigt, wie viel Zeit in jeder Funktion verbracht wird. snakeviz visualisiert cProfile-Daten als interaktives Sunburst-Diagramm. line_profiler ist unerlaesslich fuer die Identifizierung langsamer Zeilen innerhalb einer Funktion — dekorieren Sie die verdaechtige Funktion mit @profile und fuehren Sie kernprof aus.

py-spy ist ein Sampling-Profiler, der sich ohne Neustart und ohne Overhead an einen laufenden Prozess anhaengt. Ideal fuer Produktions-Debugging. memory_profiler deckt Memory Leaks und unnoetige Allokationen auf — jede Zeile einer Funktion zeigt den Speicherzuwachs. Fuer NumPy/Pandas-Code verwenden Sie scalene, das zwischen Python- und C-Code unterscheidet. Wichtige Optimierungsregeln: Generators statt List Comprehensions fuer grosse Datensaetze, dict/set fuer O(1)-Lookup statt linearer Suche in Listen, und asyncio fuer I/O-gebundene Operationen.

Workflow

cProfile -> snakeviz -> line_profiler -> Optimierung -> erneut messen.

pythonperformanceprofiling
Teilen:

CORE SYSTEMS Team

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.