Optimalizace paměti s AI

Pokročilé programování s pomocí AI pro vývojáře

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Od časové ke prostorové složitosti

 

Výkon není jen rychlost:

  • Využití paměti
  • Škálovatelnost
  • Růst dat v čase

Od časové ke prostorové složitosti

Pokročilé programování s pomocí AI pro vývojáře

Testování ve velkém měřítku

Porovnání databází podle rozsahu

 

  • ✔ Malá datová sada: vhodná pro učení
  • 📈 Problémy s pamětí: projevují se ve velkém měřítku
  • 💾 Reálná databáze: blíže produkčnímu prostředí
Pokročilé programování s pomocí AI pro vývojáře

Varování před růstem paměti

Varování před růstem paměti

Pokročilé programování s pomocí AI pro vývojáře
Pokročilé programování s pomocí AI pro vývojáře
Pokročilé programování s pomocí AI pro vývojáře

AI interpretuje paměťové stopy

 

Interpretace tracemalloc

 

Zjištění AI:

  • Velká zadržená paměť
  • Opakované mezilehlé struktury
  • Při operacích agregace
Pokročilé programování s pomocí AI pro vývojáře

Základní příčina identifikována

Základní příčina

Pokročilé programování s pomocí AI pro vývojáře

AI navrhuje řešení

 

🤖 Prompt – paměťové úzké místo:

Na základě identifikovaného paměťového úzkého místa navrhněte strategie refaktoringu pro snížení špičkového využití paměti. Zvažte streaming, opětovné využití dat nebo alternativní reprezentace.

 

Navrhované strategie:

  • Snížit mezilehlé alokace
  • Opětovně využívat vyrovnávací paměti
  • Zavést ukládání do mezipaměti
Pokročilé programování s pomocí AI pro vývojáře

Kompromisy mezipaměti

Rovnováha kompromisů mezipaměti

 

Pozor na mezipaměť:

  • ✔ Může zlepšit výkon
  • ❌ Může také zvýšit nároky na paměť
Pokročilé programování s pomocí AI pro vývojáře

Kompromisy mezipaměti

 

🤖 Prompt – porovnání kompromisů:

Vzhledem k tomuto pracovnímu zatížení a vzoru přístupu: snížila by strategie mezipaměti celkové využití paměti, nebo by situaci zhoršila? Vysvětlete kompromisy.

Návrh mezipaměti od AI

Pokročilé programování s pomocí AI pro vývojáře

Implementace pomocí AI

Opravy kódu od AI

 

Jako vždy:

  • Pečlivě zkontrolujte
  • Před přijetím změn ověřte
Pokročilé programování s pomocí AI pro vývojáře

Výsledky ověření

 

Spuštění benchmarku:

Paměťový benchmark

Výsledky:

  • Špičková paměť výrazně klesá
  • Doba běhu zůstává stabilní
  • ✅ Optimalizace ověřena
Pokročilé programování s pomocí AI pro vývojáře

Benchmarkingové prompty

🤖 Prompt pro benchmarking:

Jste expert na výkon v Pythonu. Níže jsou dva snímky tracemalloc – před změnou kódu a po ní.

  • Před: {before_snapshot}
  • Po: {after_snapshot}

Porovnejte špičkové využití paměti a počet alokací. Závěry podložte čísly. Pokud jde o zlepšení, vysvětlete proč. Pokud ne, navrhněte, co opravit.

 

Efektivní benchmarkingové prompty:

  • Uveďte data před/po
  • Specifikujte sledované metriky
  • Požadujte závěry podložené daty

 

✔ Optimalizace je opakovatelná a systematická

Pokročilé programování s pomocí AI pro vývojáře

Pojďme si procvičit!

Pokročilé programování s pomocí AI pro vývojáře

Preparing Video For Download...