web-dev-qa-db-fra.com

Comment calculez-vous le temps d'exécution du programme en python?

Comment calculez-vous le temps d'exécution du programme en python?

79
feisky

Vous voudrez peut-être jeter un coup d'œil au module timeit:

http://docs.python.org/library/timeit.html

ou le module profile:

http://docs.python.org/library/profile.html

Il y a quelques tutoriels Nice ici:

http://www.doughellmann.com/PyMOTW/profile/index.html

http://www.doughellmann.com/PyMOTW/timeit/index.html

Et le module time pourrait également s'avérer utile, même si je préfère les deux dernières recommandations pour l'analyse comparative et la performance du code de profilage:

http://docs.python.org/library/time.html

43
JoshAdel

Alternative rapide

import timeit

start = timeit.default_timer()

#Your statements here

stop = timeit.default_timer()

print('Time: ', stop - start)  
179
H.Rabiee

Je ne sais pas s'il s'agit d'une alternative plus rapide, mais j'ai une autre solution -

from datetime import datetime
start=datetime.now()

#Statements

print datetime.now()-start
29
nsane

@JoshAdel en a couvert beaucoup, mais si vous voulez juste programmer l'exécution d'un script entier, vous pouvez l'exécuter sous time sur un système de type Unix.

kotai:~ chmullig$ cat sleep.py 
import time

print "presleep"
time.sleep(10)
print "post sleep"
kotai:~ chmullig$ python sleep.py 
presleep
post sleep
kotai:~ chmullig$ time python sleep.py 
presleep
post sleep

real    0m10.035s
user    0m0.017s
sys 0m0.016s
kotai:~ chmullig$ 
4
chmullig
2
anta40