Я хотел бы измерить время, прошедшее с целью оценить блок кода в программе Python, , возможно, отделяя время между компьютером, временем системного процессора и прошедшим временем.Получить время выполнения блока кода в Python 2.7
Я знаю модуль timeit
, но у меня есть много самописных функций, и это не очень просто , чтобы передать их в процессе установки.
я предпочел бы что-то, что может быть использовано как:
#up to here I have done something....
start_counting() #or whatever command used to mark that I want to measure
#the time elapsed in the next rows
# code I want to evaluate
user,system,elapsed = stop_counting() #or whatever command says:
#stop the timer and return the times
Пользовательские и системные времена CPU не являются существенными (хотя я хотел бы измерить их), но за прошедшее время я хотел бы чтобы сделать что-то вроде этого, вместо использования сложных команд или модулей.
Я прочитал, что это не лучший подход для блоков кода, которые занимают всего лишь часть секунды для запуска. Также я думаю, что с использованием модуля времени предпочтительнее использовать метод .clock()? http://stackoverflow.com/questions/85451/python-time-clock-vs-time-time-accuracy – lucacerone
Изменен мой ответ на использование 'timeit.default_timer()', который будет выбирать между 'time.time()' или 'time.clock()' в зависимости от того, какое значение имеет более высокое разрешение на используемой вами платформе. –
спасибо, default_timer() кажется лучше. Советы на этой странице тоже очень приятные! http://www.huyng.com/posts/python-performance-analysis/ – lucacerone