Eu sei que é tarde, mas eu realmente gosto de usar:
import time
start = time.time()
##### your timed code here ... #####
print "Process time: " + (time.time() - start)
time.time()
dá-lhe segundos desde a época. Como esse é um tempo padronizado em segundos, você pode simplesmente subtrair o horário inicial do horário final para obter o tempo do processo (em segundos). time.clock()
é bom para o benchmarking, mas achei inútil se você quiser saber quanto tempo levou o processo. Por exemplo, é muito mais intuitivo dizer "meu processo leva 10 segundos" do que dizer "meu processo leva 10 unidades de clock do processador"
>>> start = time.time(); sum([each**8.3 for each in range(1,100000)]) ; print (time.time() - start)
3.4001404476250935e+45
0.0637760162354
>>> start = time.clock(); sum([each**8.3 for each in range(1,100000)]) ; print (time.clock() - start)
3.4001404476250935e+45
0.05
No primeiro exemplo acima, é mostrado um tempo de 0,05 para time.clock () vs 0,06377 para time.time ()
>>> start = time.clock(); time.sleep(1) ; print "process time: " + (time.clock() - start)
process time: 0.0
>>> start = time.time(); time.sleep(1) ; print "process time: " + (time.time() - start)
process time: 1.00111794472
No segundo exemplo, de alguma forma, o tempo do processador mostra "0", mesmo que o processo tenha dormido por um segundo. time.time()
mostra corretamente um pouco mais de 1 segundo.