Retour à la leçonMission
Mission : choisir le bon outil pour un traitement d'image 50 fois trop lent
Décider entre ctypes, Cython et une réécriture en NumPy pour accélérer une boucle CPU-bound déjà profilée, en justifiant le compromis simplicité/performance.
Contexte
Une fonction de traitement d'image pixel par pixel a déjà été profilée avec cProfile et confirmée comme le seul vrai goulet d'étranglement : elle reste 50 fois trop lente pour la production, même après toutes les optimisations Python classiques (set, join, lru_cache) déjà appliquées ailleurs dans le projet.
Tu dois choisir et justifier un outil de sortie de Python pur, écrire une fonction Cython typée, puis expliquer pourquoi appeler ctypes ne suffirait pas ici.