python-performance-optimization
Optimiser les performances et le profilage du code Python
Également disponible depuis: wshobson,ActiveInferenceInstitute
Un code Python lent gaspille des ressources et frustre les utilisateurs. Cette compétence fournit des techniques systématiques de profilage et d'optimisation pour identifier les goulots d'étranglement et améliorer les performances.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "python-performance-optimization". Profiler une fonction qui traite une grande liste
Résultat attendu:
Rapport de timing montrant que process_data() a consommé 2,3s (85% du temps total), avec 90% passé dans des boucles imbriquées. Recommandation : Remplacer l'algorithme O(n²) par une recherche dictionnaire pour une performance O(n).
Utilisation de "python-performance-optimization". Analyser le motif d'utilisation de la mémoire
Résultat attendu:
Le profil mémoire montre une allocation de 500MB dans le dictionnaire data_cache qui croît sans limite. Recommandation : Implémenter un cache LRU avec le paramètre maxsize ou utiliser WeakValueDictionary pour un nettoyage automatique.
Audit de sécurité
SûrStatic analysis flagged 68 patterns but all are false positives. The backtick detections are markdown code formatting, not shell execution. Network and URL findings are educational examples using test endpoints. SQLite references are documentation examples. System reconnaissance patterns are legitimate profiling tool demonstrations. This is a documentation-only skill with no executable code or security risks.
Score de qualité
Ce que vous pouvez construire
Déboguer les endpoints d'API lents
Profiler une application web pour identifier les requêtes de base de données lentes et optimiser les temps de réponse.
Optimiser les pipelines de traitement de données
Analyser l'utilisation de la mémoire et le temps d'exécution des workflows ETL pour réduire la consommation de ressources.
Améliorer l'efficacité des algorithmes
Profiler le code computationnel pour identifier les motifs inefficaces et appliquer les optimisations appropriées.
Essayez ces prompts
Aidez-moi à profiler cette fonction Python pour identifier les goulots d'étranglement. Voici mon code : [paste code]. Montrez-moi comment utiliser cProfile pour mesurer le temps d'exécution et trouver les fonctions lentes.
Mon application Python utilise de plus en plus de mémoire au fil du temps. Aidez-moi à utiliser memory_profiler et tracemalloc pour identifier les fuites mémoire dans ce code : [paste code]. Expliquez ce que signifie la sortie.
J'ai profilé mon code et trouvé ces goulots d'étranglement : [paste profiling output]. Recommandez des techniques d'optimisation spécifiques et montrez des exemples de code avant/après pour chaque suggestion.
Guidez-moi dans la configuration de py-spy pour profiler un service Python en production sans l'arrêter. Expliquez comment générer des flame graphs et interpréter les résultats pour trouver les chemins critiques.
Bonnes pratiques
- Toujours profiler avant d'optimiser pour identifier les vrais goulots d'étranglement, pas ceux supposés
- Utiliser les structures de données appropriées : dictionnaires pour les recherches, ensembles pour les tests d'appartenance, générateurs pour les grandes séquences
- Mettre en cache les calculs coûteux avec functools.lru_cache et grouper les opérations I/O pour réduire la surcharge des appels système
Éviter
- Optimiser sans données de profilage conduit à un effort gaspillé sur les non-goulots d'étranglement
- La concaténation de chaînes dans les boucles avec l'opérateur + au lieu de join() cause une complexité quadratique
- Charger des fichiers entiers ou des ensembles de données en mémoire alors qu'un traitement basé sur un itérateur serait suffisant