Optimiser l'usage mémoire avec l'IA

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

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

De la complexité temps à espace

 

La performance n'est pas que la vitesse :

  • Usage mémoire
  • Scalabilité
  • Croissance des données dans le temps

Complexité temps vs espace

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

Tester à l'échelle

Comparaison d'échelle de base de données

 

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

Alerte de croissance mémoire

Alerte de croissance mémoire

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

L'IA interprète les traces mémoire

 

Interprétation de tracemalloc

 

Constat de l'IA :

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

Cause racine identifiée

Cause racine

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

L'IA propose des correctifs

 

🤖 Invite goulot mémoire :

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

 

Stratégies proposées :

  • Réduire les allocations intermédiaires
  • Réutiliser les tampons
  • Introduire un cache
Programmation assistée par IA avancée pour les développeurs

Compromis du cache

Compromis du cache sur une balance

 

Attention au cache :

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

Compromis du cache

 

🤖 Invite sur les compromis du cache :

Étant donné cette charge et ce mode d'accès, une stratégie de cache réduira-t-elle l'usage mémoire global ou l'aggravera-t-elle ? Expliquez les compromis.

suggestion de cache par l'IA

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

Mise en œuvre par l'IA

correctifs de code par l'IA

 

Comme toujours :

  • Relire avec soin
  • Valider avant d'accepter
Programmation assistée par IA avancée pour les développeurs

Résultats de validation

 

Exécution du benchmark :

benchmark mémoire

Résultats :

  • Pic mémoire nettement réduit
  • Temps d'exécution stable
  • ✅ Optimisation validée
Programmation assistée par IA avancée pour les développeurs

Invites de benchmark

🤖 Invite de benchmarking :

Vous êtes expert·e en performance Python. Voici deux instantanés tracemalloc, avant et après un changement de 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 de benchmark efficaces :

  • Donner 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 assistée par IA avancée pour les développeurs

Passons à la pratique !

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

Preparing Video For Download...