В time
модуль, существует две функции синхронизации: time
и clock
. time
дает Вам "стенное" время, если это - то, о чем Вы заботитесь.
Однако Python в документах говорится, что clock
должен использоваться для сравнительного тестирования. Обратите внимание, что clock
ведет себя отличающийся в отдельных системах:
clock
в свой процесс). # ms windows t0= time.clock() do_something() t= time.clock() - t0 # t is wall seconds elapsed (floating point)
clock
процессорное время отчетов. Теперь, это отличается, и по всей вероятности значение, которое Вы хотите, так как Ваша программа почти никогда не является единственным процессом, запрашивающим процессорное время (даже если у Вас нет никаких других процессов, ядро использует процессорное время время от времени). Так, это число, которое обычно является smallerВ№, чем стенное время (т.е. time.time () - t0), более значимо при сравнительном тестировании кода: # linux t0= time.clock() do_something() t= time.clock() - t0 # t is CPU seconds elapsed (floating point)
Кроме всего этого, модуль timeit имеет Timer
класс, который, как предполагается, использует то, что является лучшим для сравнительного тестирования от доступной функциональности.
В№, если поточная обработка не входит в way†¦
ВІ Python ≥3.3: существуют time.perf_counter()
и time.process_time()
. perf_counter
используется timeit
модуль.
То, в чем Вы нуждаетесь, time()
функция от time
модуль:
import time
start = time.time()
do_long_code()
print "it took", time.time() - start, "seconds."
можно использовать модуль timeit для большего количества опций все же.
модуль времени в Python предоставляет Вам доступ к часам () функция, которая возвращает время в секундах как плавающая точка.
Различные системы будут иметь различную точность на основе своей внутренней установки часов (галочки в секунду), но это обычно находится, по крайней мере, под 20milliseconds, и в некоторых случаях лучше, чем несколько микросекунд.
-Adam
import datetime
start = datetime.datetime.now()
do_long_code()
finish = datetime.datetime.now()
delta = finish - start
print delta.seconds
С полуночи:
import datetime
midnight = datetime.datetime.now().replace(hour=0, minute=0, second=0, microsecond=0)
now = datetime.datetime.now()
delta = now - midnight
print delta.seconds