Maison > développement back-end > Tutoriel Python > Comment puis-je profiler mon script Python pour détecter les goulots d'étranglement en termes de performances ?

Comment puis-je profiler mon script Python pour détecter les goulots d'étranglement en termes de performances ?

Susan Sarandon
Libérer: 2024-12-24 02:55:17
original
975 Les gens l'ont consulté

How Can I Profile My Python Script to Find Performance Bottlenecks?

Profilage de scripts Python avec cProfile

Question :

Optimiser le code Python peut être un défi. Comment pouvez-vous profiler le temps d'exécution d'un script Python pour identifier les goulots d'étranglement ?

Réponse :

Python est équipé d'un puissant profileur appelé cProfile. Il fournit une vue complète des temps d'exécution, notamment :

  • Durée totale d'exécution
  • Temps passé dans chaque fonction
  • Fréquence des appels de fonction

Utilisation de cProfile :

cProfile peut être invoqué dans de plusieurs manières :

  • Depuis votre code :
import cProfile
cProfile.run('foo()')
Copier après la connexion
  • Depuis l'interprète :
python -m cProfile myscript.py
Copier après la connexion
  • Pendant l'exécution d'un module :
python -m cProfile -m mymodule
Copier après la connexion

Fichier batch personnalisé :

Pour simplifier le processus, vous pouvez créer un fichier batch nommé 'profile.bat' :

python -m cProfile %1
Copier après la connexion

Ensuite, exécutez simplement votre script avec le fichier (remplacez euler048.py par votre script):

profile euler048.py
Copier après la connexion

Sortie :

cProfile génère une sortie détaillée avec des informations telles que :

  • Total des appels de fonction
  • Temps CPU
  • Cumulatif time
  • Nom de fichier et numéro de ligne de chaque fonction

Ressources supplémentaires :

  • [Tutoriel de profilage Python sur PyCon 2013](https://www.youtube.com/watch?v=2mcVypDt50A)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal