Come posso ottenere il tempo di esecuzione di un programma Python?

Ho un programma a riga di comando in Python che ci mette un po' a finire. Voglio sapere il tempo esatto che impiega a finire l'esecuzione.

Ho guardato il modulo timeit, ma sembra che sia solo per piccoli frammenti di codice. Voglio cronometrare l'intero programma.

Soluzione

Il modo più semplice in Python:

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

Questo presuppone che il vostro programma impieghi almeno un decimo di secondo per essere eseguito.

Stampa:

--- 0.764891862869 seconds ---
Commentari (6)

In Linux o UNIX:

time python yourprogram.py

In Windows, vedere questa discussione su Stackoverflow: https://stackoverflow.com/questions/673523/how-to-measure-execution-time-of-command-in-windows-command-line

Commentari (4)

La soluzione di rogeriopvl funziona bene, ma se volete informazioni più specifiche potete usare il profilatore integrato in Python. Controlla questa pagina:

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

un profiler vi dice un sacco di informazioni utili come il tempo speso in ogni funzione

Commentari (0)