Optimalkan penggunaan memori dengan AI

Pengembangan Kode Berbantuan AI Lanjutan untuk Developer

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Dari kompleksitas waktu ke ruang

 

Kinerja bukan hanya kecepatan:

  • Penggunaan memori
  • Skalabilitas
  • Pertumbuhan data dari waktu ke waktu

Kompleksitas waktu ke ruang

Pengembangan Kode Berbantuan AI Lanjutan untuk Developer

Pengujian pada skala besar

Perbandingan skala basis data

 

  • ✔ Dataset kecil: berguna untuk belajar
  • 📈 Masalah memori: muncul saat skala
  • 💾 Basis data nyata: lebih dekat ke produksi
Pengembangan Kode Berbantuan AI Lanjutan untuk Developer

Peringatan pertumbuhan memori

memory-grouth.png

Pengembangan Kode Berbantuan AI Lanjutan untuk Developer
Pengembangan Kode Berbantuan AI Lanjutan untuk Developer
Pengembangan Kode Berbantuan AI Lanjutan untuk Developer

AI menginterpretasi jejak memori

 

Interpretasi tracemalloc

 

Temuan AI:

  • Memori tertahan besar
  • Struktur perantara berulang
  • Saat operasi agregasi
Pengembangan Kode Berbantuan AI Lanjutan untuk Developer

Akar masalah teridentifikasi

Akar masalah

Pengembangan Kode Berbantuan AI Lanjutan untuk Developer

AI mengusulkan perbaikan

 

🤖 Prompt kemacetan memori:

Berdasarkan kemacetan memori yang diidentifikasi, sarankan refactoring untuk menurunkan puncak penggunaan memori. Pertimbangkan streaming, penggunaan ulang data, atau representasi alternatif.

 

Strategi yang diusulkan:

  • Kurangi alokasi perantara
  • Gunakan ulang buffer
  • Tambahkan caching
Pengembangan Kode Berbantuan AI Lanjutan untuk Developer

Trade-off caching

Keseimbangan trade-off cache

 

Hati-hati dengan caching:

  • ✔ Dapat meningkatkan kinerja
  • ❌ Juga bisa menambah memori
Pengembangan Kode Berbantuan AI Lanjutan untuk Developer

Trade-off caching

 

🤖 Prompt membandingkan trade-off:

Dengan beban kerja dan pola akses ini, apakah strategi caching menurunkan total penggunaan memori, atau justru memperburuknya? Jelaskan trade-off-nya

ai-cache-suggestion.png

Pengembangan Kode Berbantuan AI Lanjutan untuk Developer

Implementasi AI

ai-code-fixes.png

 

Seperti biasa:

  • Tinjau dengan saksama
  • Validasi sebelum menerima perubahan
Pengembangan Kode Berbantuan AI Lanjutan untuk Developer

Hasil validasi

 

Jalankan benchmarking:

memory-benchmark.png

Hasil:

  • Puncak memori turun signifikan
  • Waktu jalan stabil
  • ✅ Optimasi terverifikasi
Pengembangan Kode Berbantuan AI Lanjutan untuk Developer

Prompt benchmarking

🤖 Prompt benchmarking:

Anda ahli performa Python. Berikut dua snapshot tracemalloc, sebelum dan sesudah perubahan kode.

  • Sebelum: {before_snapshot}
  • Sesudah: {after_snapshot}

Bandingkan puncak penggunaan memori dan jumlah alokasi. Jelaskan kesimpulan dengan angka. Jika perubahannya perbaikan, jelaskan alasannya. Jika tidak, sarankan apa yang perlu diperbaiki.

 

Prompt benchmarking yang efektif:

  • Beri sebelum/sesudah
  • Tetapkan metrik yang penting
  • Minta kesimpulan berbasis bukti

 

✔ Membuat optimasi terulang dan sistematis

Pengembangan Kode Berbantuan AI Lanjutan untuk Developer

Ayo berlatih!

Pengembangan Kode Berbantuan AI Lanjutan untuk Developer

Preparing Video For Download...