Те , що я зазвичай роблю це використання 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. Якщо ви хочете , щоб час виконання сценарію в легко читається форматі, будь то секунди або дні, ви можете перетворити до timedeltaі strце:
runtime = time() - st
print 'runtime:', timedelta(seconds=runtime)
і це буде надрукувати щось із форми [D day[s], ][H]H:MM:SS[.UUUUUU]. Ви можете переглянути документи timedelta .
І нарешті, якщо те, що ви насправді шукаєте, це профілювання вашого коду, Python робить доступною і бібліотеку профілів .