Ce que je fais habituellement, c'est utiliser clock()
ou time()
depuis la time
bibliothèque. clock
mesure le temps de l'interprète, tandis que le time
temps du système. Des mises en garde supplémentaires peuvent être trouvées dans la documentation .
Par exemple,
def fn():
st = time()
dostuff()
print 'fn took %.2f seconds' % (time() - st)
Ou bien, vous pouvez utiliser timeit
. J'utilise souvent l' time
approche en raison de la rapidité avec laquelle je peux l'exploiter , mais si vous chronométrez un morceau de code isolable, c'est timeit
pratique.
D'après les documents de timeit ,
def test():
"Stupid test function"
L = []
for i in range(100):
L.append(i)
if __name__=='__main__':
from timeit import Timer
t = Timer("test()", "from __main__ import test")
print t.timeit()
Ensuite, pour convertir en minutes, vous pouvez simplement diviser par 60. Si vous voulez que l'exécution du script soit dans un format facilement lisible, que ce soit en secondes ou en jours, vous pouvez le convertir en un timedelta
et str
il:
runtime = time() - st
print 'runtime:', timedelta(seconds=runtime)
et que imprimerons sur quelque chose de la forme [D day[s], ][H]H:MM:SS[.UUUUUU]
. Vous pouvez consulter les documents de timedelta .
Et enfin, si vous recherchez réellement le profilage de votre code, Python rend également disponible la bibliothèque de profils .