Como posso obter o tempo de execução de um programa Python's?

Eu tenho um programa de linha de comando em Python que leva um tempo para terminar. Eu quero saber o tempo exato que leva para terminar a execução.

I'olhei para o módulo timeit, mas parece que's apenas para pequenos trechos de código. Eu quero cronometrar o programa inteiro.

Solução

A maneira mais simples em Python:

import time
start_time = time.time()
main()
print("--- %s seconds ---" % (time.time() - start_time))

Isto pressupõe que o seu programa leva pelo menos um décimo de segundo para ser executado.

Impressões digitais:

--- 0.764891862869 seconds ---
Comentários (6)

Em Linux ou UNIX:

time python yourprogram.py

No Windows, veja esta discussão sobre o Stackoverflow: https://stackoverflow.com/questions/673523/how-to-measure-execution-time-of-command-in-windows-command-line

Comentários (4)

A solução de rogeriopvl funciona bem, mas se você quiser informações mais específicas, você pode usar o perfilador Python embutido. Confira esta página:

http://docs.python.org/library/profile.html[2]

um profiler diz-lhe muitas informações úteis como o tempo gasto em cada função

Comentários (0)