Я знаю, что уже поздно, но мне действительно нравится использовать:
import time
start = time.time()
##### your timed code here ... #####
print "Process time: " + (time.time() - start)
time.time()
дает вам секунды с начала эпохи. Поскольку это стандартное время в секундах, вы можете просто вычесть время начала из времени окончания, чтобы получить время процесса (в секундах). time.clock()
хорош для бенчмаркинга, но я нашел его бесполезным, если вы хотите знать, сколько времени занял ваш процесс. Например, гораздо более интуитивно понятно, что «мой процесс занимает 10 секунд», чем сказать, что «мой процесс занимает 10 тактовых блоков процессора»
>>> 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
В первом примере выше вам показано время 0,05 для time.clock () против 0,06377 для 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
Во втором примере каким-то образом время процессора показывает «0», хотя процесс спит секунду. time.time()
правильно показывает чуть больше 1 секунды.