Speichernutzung mit KI optimieren

Fortgeschrittenes, KI-gestütztes Programmieren für Entwickler:innen

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Von Zeit- zu Platzkomplexität

 

Performance ist nicht nur Speed:

  • Speichernutzung
  • Skalierbarkeit
  • Datenwachstum über die Zeit

Zeit- zu Platzkomplexität

Fortgeschrittenes, KI-gestütztes Programmieren für Entwickler:innen

Tests im großen Maßstab

Datenbank-Skalierung Vergleich

 

  • ✔ Kleines Dataset: gut zum Lernen
  • 📈 Speicherprobleme: treten im großen Maßstab auf
  • 💾 Reale DB: näher an Produktion
Fortgeschrittenes, KI-gestütztes Programmieren für Entwickler:innen

Warnung: Speicherwachstum

memory-grouth.png

Fortgeschrittenes, KI-gestütztes Programmieren für Entwickler:innen
Fortgeschrittenes, KI-gestütztes Programmieren für Entwickler:innen
Fortgeschrittenes, KI-gestütztes Programmieren für Entwickler:innen

KI interpretiert Speichertraces

 

tracemalloc-interpretation.png

 

KI-Befund:

  • Viel Speicher wird gehalten
  • Wiederholte Zwischenstrukturen
  • Bei Aggregationen
Fortgeschrittenes, KI-gestütztes Programmieren für Entwickler:innen

Ursache identifiziert

Grundursache

Fortgeschrittenes, KI-gestütztes Programmieren für Entwickler:innen

KI schlägt Fixes vor

 

🤖 Prompt: Speicher-Engpass

Schlage basierend auf dem Engpass Refactorings vor, um die Spitzenbelegung zu senken. Berücksichtige Streaming, Wiederverwendung von Daten oder andere Darstellungen.

 

Vorgeschlagene Strategien:

  • Zwischen-Allokationen reduzieren
  • Puffer wiederverwenden
  • Caching einführen
Fortgeschrittenes, KI-gestütztes Programmieren für Entwickler:innen

Caching: Trade-offs

Trade-off beim Caching Waage

 

Vorsicht beim Caching:

  • ✔ Kann Leistung verbessern
  • ❌ Kann Speicher auch erhöhen
Fortgeschrittenes, KI-gestütztes Programmieren für Entwickler:innen

Caching: Trade-offs

 

🤖 Prompt: Trade-offs vergleichen

Gegeben Workload und Zugriffsmuster: Reduziert Caching die Speichernutzung insgesamt oder verschlimmert es sie? Erkläre die Trade-offs.

ai-cache-suggestion.png

Fortgeschrittenes, KI-gestütztes Programmieren für Entwickler:innen

KI-Implementierung

ai-code-fixes.png

 

Wie immer:

  • Sorgfältig prüfen
  • Vor Annahme validieren
Fortgeschrittenes, KI-gestütztes Programmieren für Entwickler:innen

Validierungsergebnisse

 

Benchmark-Lauf:

memory-benchmark.png

Ergebnisse:

  • Spitzenverbrauch sinkt deutlich
  • Laufzeit bleibt stabil
  • ✅ Optimierung bestätigt
Fortgeschrittenes, KI-gestütztes Programmieren für Entwickler:innen

Benchmarking-Prompts

🤖 Prompt: Benchmarking

Du bist Python-Performance-Expert:in. Unten zwei tracemalloc-Snapshots, vor und nach einer Code-Änderung.

  • Vorher: {before_snapshot}
  • Nachher: {after_snapshot}

Vergleiche Spitzenverbrauch und Anzahl Allokationen. Begründe mit Zahlen. Bei Verbesserung: warum? Falls nicht: was beheben?

 

Gute Benchmarking-Prompts:

  • Vorher/Nachher liefern
  • Relevante Metriken nennen
  • Evidenzbasierte Schlüsse fordern

 

✔ Macht Optimierung wiederholbar und systematisch

Fortgeschrittenes, KI-gestütztes Programmieren für Entwickler:innen

Lass uns üben!

Fortgeschrittenes, KI-gestütztes Programmieren für Entwickler:innen

Preparing Video For Download...