如何在Python中测量经过的时间?
2022-09-05 00:51:05
我想测量执行函数所花费的时间。我无法上班:timeit
import timeit
start = timeit.timeit()
print("hello")
end = timeit.timeit()
print(end - start)
我想测量执行函数所花费的时间。我无法上班:timeit
import timeit
start = timeit.timeit()
print("hello")
end = timeit.timeit()
print(end - start)
使用 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()
来明确定义行为。
请代替 使用 。前者自动提供您的平台和Python版本上可用的最佳时钟:timeit.default_timer
timeit.timeit
from timeit import default_timer as timer
start = timer()
# ...
end = timer()
print(end - start) # Time in seconds, e.g. 5.38091952400282
timeit.default_timer分配给 time.time() 或 time.clock(), 具体取决于操作系统。在Python 3.3 +上,default_timer在所有平台上都是time.perf_counter()。请参阅 Python - time.clock() vs. time.time() - 准确性?
另请参阅: