Einkaufswagen
Loading
Nur noch -1 verfügbar

Performanten Python-Code schreiben- Profiling und Optimierung

Aktionspreis
€12.99 (25 % Rabatt)
€9.74
Zum Einkaufswagen hinzugefügt

Performanten Python-Code schreiben: Profiling und Optimierung


Ein praxisnaher Leitfaden zur Messung, Analyse und Beschleunigung von Python-Anwendungen


Inhaltsverzeichnis


Kapitel 1: Was bedeutet „performanter Code“ in Python?


  • Laufzeit, Speicherverbrauch, CPU-Zeit
  • Wann ist Optimierung notwendig – und wann nicht?
  • Performance-Ziele definieren
  • Überblick: Bottlenecks erkennen und gezielt verbessern

Kapitel 2: Zeitmessung und erste Analyse


  • Schnelles Timing mit time und timeit
  • Funktionsweise von timeit.repeat() und Timer()
  • Mini-Projekt: Vergleich von zwei Sortierstrategien

Kapitel 3: Code-Profiling in der Praxis


  • cProfile und profile verwenden
  • Ergebnisse lesen: Funktionszeit, Aufrufanzahl
  • pstats zur Auswertung
  • Mini-Projekt: Engpass in einem Berechnungsmodul finden

Kapitel 4: Speicherprofiling und Lecksuche


  • sys.getsizeof(), pympler, memory_profiler, tracemalloc
  • Snapshots erstellen und vergleichen
  • Mini-Projekt: Speicherfresser in Datenverarbeitung aufspüren

Kapitel 5: Datenstrukturen und Algorithmen bewusst wählen


  • list, set, dict, tuple: Unterschiede in Performance
  • Zeitkomplexität typischer Operationen
  • Mini-Projekt: Optimierter Datenscan mit richtigen Strukturen

Kapitel 6: Schleifen, Comprehensions und Generatoren


  • Schleifen effizient schreiben
  • map(), filter() vs. List Comprehensions
  • Speicher und Performance bei Generatoren
  • Mini-Projekt: Textanalyse mit Generator-Pipeline

Kapitel 7: Funktionen und Modularisierung optimieren


  • Redundanzen vermeiden
  • Lokale vs. globale Variablen
  • Funktionsaufrufkosten und Caching
  • Mini-Projekt: Memoization für rechenintensive Aufgaben

Kapitel 8: Caching und Wiederverwendung


  • functools.lru_cache für Funktions-Cache
  • Ergebnisse speichern statt neu berechnen
  • Strategien für ID- oder Objekt-Caching
  • Mini-Projekt: Optimiertes API-Request-Modul mit Cache

Kapitel 9: Parallelisierung und Asynchronität


  • IO-bound: asyncio, aiohttp
  • CPU-bound: multiprocessing, ProcessPoolExecutor
  • Aufgaben parallel und effizient ausführen
  • Mini-Projekt: Bildersammlung parallel verarbeiten

Kapitel 10: Best Practices für nachhaltige Performance


  • Testing und Benchmarking kombinieren
  • Logging mit Zeit- und Speichernutzung
  • Dokumentieren, messen, vergleichen
  • Mini-Projekt: Analyse, Refactoring und Benchmark einer alten Codebasis

Anhang A: Übersicht nützlicher Performance-Tools


  • timeit, cProfile, line_profiler, memory_profiler, tracemalloc, pympler, py-spy

Anhang B: Komplexitätstabelle häufig genutzter Python-Operationen


  • Nachschlagewerk: Listen, Dictionaries, Mengen, Strings

Anhang C: Übungsaufgaben mit Lösungen


  • Langsame Funktionen analysieren
  • Datenstruktur verbessern
  • Speicherprofil mit tracemalloc auswerten
  • Lösungen mit Schritt-für-Schritt-Erklärung


Sie erhalten die folgenden Dateien:
  • PDF (1MB)
  • EPUB (112KB)