Retour à la leçon
Mission

Mission : sauver un serveur qui sature en mémoire

Diagnostiquer une consommation mémoire excessive due à une liste en compréhension, et la remplacer par un générateur.

Contexte

Un service traite un fichier de dix millions de lignes de log avec lignes_erreur = [l for l in toutes_les_lignes if "ERROR" in l] puis calcule immédiatement sum(1 for l in lignes_erreur). Le serveur consomme plusieurs centaines de mégaoctets de RAM rien que pour ce comptage, et l'équipe d'infra menace de couper le service.

Tu dois identifier pourquoi cette écriture consomme autant de mémoire alors qu'elle ne sert qu'à compter, la corriger avec un générateur, puis raisonner sur une compréhension imbriquée trouvée ailleurs dans le code.