Те , що я зазвичай роблю це використання 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 робить доступною і бібліотеку профілів .