Optimizar el uso de memoria con IA

Programación asistida por IA avanzada para desarrolladores

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

De complejidad temporal a espacial

 

El rendimiento no es solo velocidad:

  • Uso de memoria
  • Escalabilidad
  • Crecimiento de datos en el tiempo

Complejidad de tiempo vs espacio

Programación asistida por IA avanzada para desarrolladores

Pruebas a escala

Comparación de escala de bases de datos

 

  • ✔ Conjunto pequeño: útil para aprender
  • 📈 Problemas de memoria: aparecen a escala
  • 💾 Base real: más cercana a producción
Programación asistida por IA avanzada para desarrolladores

Alerta de crecimiento de memoria

crecimiento-de-memoria.png

Programación asistida por IA avanzada para desarrolladores
Programación asistida por IA avanzada para desarrolladores
Programación asistida por IA avanzada para desarrolladores

La IA interpreta los rastros de memoria

 

Interpretación de tracemalloc

 

Hallazgo de la IA:

  • Gran memoria retenida
  • Estructuras intermedias repetidas
  • Durante operaciones de agregación
Programación asistida por IA avanzada para desarrolladores

Causa raíz identificada

Causa raíz

Programación asistida por IA avanzada para desarrolladores

La IA propone correcciones

 

🤖 Prompt de cuello de botella de memoria:

Según el cuello de botella detectado, sugiere refactors para reducir el pico de memoria. Considera streaming, reutilización de datos o representaciones alternativas.

 

Estrategias propuestas:

  • Reducir asignaciones intermedias
  • Reutilizar buffers
  • Introducir caché
Programación asistida por IA avanzada para desarrolladores

Compensaciones de caché

Equilibrio de compensaciones de caché

 

Cuidado con la caché:

  • ✔ Puede mejorar el rendimiento
  • ❌ También puede aumentar la memoria
Programación asistida por IA avanzada para desarrolladores

Compensaciones de caché

 

🤖 Prompt para comparar compensaciones:

Dado este trabajo y patrón de acceso, ¿una estrategia de caché reduciría la memoria total o la empeoraría? Explica las compensaciones.

sugerencia-de-caché-de-ia.png

Programación asistida por IA avanzada para desarrolladores

Implementación con IA

correcciones-de-código-ia.png

 

Como siempre:

  • Revisa con cuidado
  • Valida antes de aceptar cambios
Programación asistida por IA avanzada para desarrolladores

Resultados de validación

 

Ejecución de benchmark:

benchmark-de-memoria.png

Resultados:

  • La memoria pico baja mucho
  • El tiempo de ejecución se mantiene
  • ✅ Optimización validada
Programación asistida por IA avanzada para desarrolladores

Prompts de benchmarking

🤖 Prompt de benchmarking:

Eres experta/o en rendimiento de Python. A continuación, dos snapshots de tracemalloc, antes y después de un cambio.

  • Antes: {before_snapshot}
  • Después: {after_snapshot}

Compara el pico de memoria y el número de asignaciones. Justifica con números. Si mejora, explica por qué. Si no, sugiere qué corregir.

 

Prompts efectivos de benchmarking:

  • Proporciona antes/después
  • Especifica qué métricas importan
  • Pide conclusiones basadas en datos

 

✔ Hace la optimización repetible y sistemática

Programación asistida por IA avanzada para desarrolladores

¡Vamos a practicar!

Programación asistida por IA avanzada para desarrolladores

Preparing Video For Download...