Используйте time.time() для измерения времени, прошедшего с настенных часов между двумя точками:
import time
start = time.time() print("hello") end = time.time() print(end - start)
Это дает время выполнения в секундах.
Другим вариантом, начиная с Python 3.3, может быть использование perf_counter или process_time, в зависимости от ваших требований. До версии 3.3 было рекомендовано использовать time.clock (спасибо Amber). Однако в настоящее время он устарел:
В Unix возвращайте текущее процессорное время в виде числа с плавающей запятой, выраженного в секундах. Точность и, фактически, само определение значения “процессорного времени” зависит от точности одноименной функции C.
В Windows эта функция возвращает секунды настенных часов, прошедшие с момента первого вызова этой функции, в виде числа с плавающей запятой, на основе функции Win32 QueryPerformanceCounter(). Разрешение обычно лучше одной микросекунды.
Устарела с версии 3.3: поведение этой функции зависит от платформы: используйте perf_counter() или process_time() вместо этого, в зависимости от ваших требований, для обеспечения четко определенного поведения.
Ответ 2
Используйте timeit.default_timer вместо timeit.timeit. Первое автоматически определяет наилучшие часы, доступные на вашей платформе и версии Python:
from timeit import default_timer as timer
start = timer() # ... end = timer() print(end - start) # Time in seconds, e.g. 5.38091952400282