Optimiser l'utilisation de la mémoire avec l'IA

Programmation avancée assistée par l'IA pour les développeurs

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

De la complexité temps à espace

 

La performance n'est pas que la vitesse :

  • Utilisation de la mémoire
  • Scalabilité
  • Croissance des données dans le temps

Complexité temps vs espace

Programmation avancée assistée par l'IA pour les développeurs

Tester à l'échelle

Comparaison d'échelle de bases de données

 

  • ✔ Petit jeu de données : utile pour apprendre
  • 📈 Problèmes mémoire : apparaissent à l'échelle
  • 💾 BD réelle : plus proche de la prod
Programmation avancée assistée par l'IA pour les développeurs

Alerte de croissance mémoire

Alerte de croissance mémoire

Programmation avancée assistée par l'IA pour les développeurs
Programmation avancée assistée par l'IA pour les développeurs
Programmation avancée assistée par l'IA pour les développeurs

L'IA interprète les traces mémoire

 

Interprétation de tracemalloc

 

Constat de l'IA :

  • Grande mémoire retenue
  • Structures intermédiaires répétées
  • Lors des opérations d'agrégation
Programmation avancée assistée par l'IA pour les développeurs

Cause première identifiée

Cause première

Programmation avancée assistée par l'IA pour les développeurs

L'IA propose des correctifs

 

🤖 Invite goulot mémoire :

Selon le goulot mémoire identifié, proposez des refactorisations pour réduire le pic d'utilisation. Pensez au streaming, à la réutilisation de données ou à d'autres représentations.

 

Stratégies proposées :

  • Réduire les allocations intermédiaires
  • Réutiliser les tampons
  • Introduire la mise en cache
Programmation avancée assistée par l'IA pour les développeurs

Compromis de la mise en cache

Compromis de la mise en cache

 

Attention à la mise en cache :

  • ✔ Peut améliorer la performance
  • ❌ Peut aussi augmenter la mémoire
Programmation avancée assistée par l'IA pour les développeurs

Compromis de la mise en cache

 

🤖 Invite sur les compromis :

Pour cette charge et ces accès, une stratégie de cache réduira-t-elle la mémoire totale, ou l'aggravera-t-elle? Expliquez les compromis.

suggestion de cache par IA

Programmation avancée assistée par l'IA pour les développeurs

Mise en œuvre par l'IA

correctifs de code par IA

 

Comme toujours :

  • Réviser attentivement
  • Valider avant d'accepter les changements
Programmation avancée assistée par l'IA pour les développeurs

Résultats de validation

 

Exécution de l'évaluation :

benchmark mémoire

Résultats :

  • Pic mémoire en forte baisse
  • Temps d'exécution stable
  • ✅ Optimisation validée
Programmation avancée assistée par l'IA pour les développeurs

Invites pour l'évaluation

🤖 Invite d'évaluation :

Vous êtes expert·e en performance Python. Voici deux instantanés tracemalloc, avant et après une modification du code.

  • Avant : {before_snapshot}
  • Après : {after_snapshot}

Comparez le pic mémoire et le nombre d'allocations. Justifiez avec des chiffres. Si c'est une amélioration, expliquez pourquoi. Sinon, proposez quoi corriger.

 

Invites d'évaluation efficaces :

  • Fournir avant/après
  • Préciser les métriques clés
  • Demander des conclusions étayées

 

✔ Rend l'optimisation répétable et systématique

Programmation avancée assistée par l'IA pour les développeurs

Passons à la pratique !

Programmation avancée assistée par l'IA pour les développeurs

Preparing Video For Download...