Python Language Utilisation de cProfile (Preferred Profiler)


Exemple

Python inclut un profileur appelé cProfile. Ceci est généralement préférable à l'utilisation de timeit.

Il décompose tout votre script et pour chaque méthode dans votre script, il vous dit:

  • ncalls : Le nombre de fois qu'une méthode a été appelée
  • tottime : Temps total passé dans la fonction donnée (hors temps passé dans les appels aux sous-fonctions)
  • percall : temps passé par appel. Ou le quotient de tottime divisé par les appels
  • cumtime : Le temps cumulé passé dans cette sous-fonction et toutes les sous-fonctions (de l'invocation à la sortie). Ce chiffre est précis même pour les fonctions récursives.
  • percall : est le quotient de cumtime divisé par des appels primitifs
  • filename:lineno(function) : fournit les données respectives de chaque fonction

Le cProfiler peut être facilement appelé sur la ligne de commande en utilisant:

$ python -m cProfile main.py 

Pour trier la liste des méthodes profilées renvoyées en fonction du temps écoulé dans la méthode:

$ python -m cProfile -s time main.py