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.
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 ---
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
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