Я обычно использую clock()
или time()
из time
библиотеки. clock
измеряет время интерпретатора и time
измеряет системное время. Дополнительные предостережения можно найти в документации .
Например,
def fn():
st = time()
dostuff()
print 'fn took %.2f seconds' % (time() - st)
Или, в качестве альтернативы, вы можете использовать timeit
. Я часто использую этот time
подход из-за того, насколько быстро я могу его обработать, но если вы рассчитываете время для изолированного фрагмента кода, это timeit
пригодится.
Из документов timeit ,
def test():
"Stupid test function"
L = []
for i in range(100):
L.append(i)
if __name__=='__main__':
from timeit import Timer
t = Timer("test()", "from __main__ import test")
print t.timeit()
Затем, чтобы преобразовать в минуты, вы можете просто разделить его на 60. Если вы хотите, чтобы среда выполнения скрипта была в легко читаемом формате, будь то секунды или дни, вы можете преобразовать в a timedelta
и str
it:
runtime = time() - st
print 'runtime:', timedelta(seconds=runtime)
и это распечатает что-то из формы [D day[s], ][H]H:MM:SS[.UUUUUU]
. Вы можете ознакомиться с документацией timedelta .
И, наконец, если вам действительно нужно профилировать код, Python также делает доступной библиотеку профилей .