我如何知道我的Python程序的解释时间?
我如何知道我的Python程序的解释时间?
我想要测量执行一个函数所用的时间。但我无法使用 timeit
。
import timeit start = timeit.timeit() print("hello") end = timeit.timeit() print(end - start)
admin 更改状态以发布 2023年5月20日
使用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
timeit.default_timer会根据操作系统分配到time.time()或time.clock()。在Python 3.3+中,default_timer在所有平台上都是time.perf_counter()。请参阅Python - time.clock() vs. time.time() - accuracy?
另请参阅:
使用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()
取而代之,
根据您的要求,具有良好定义的行为。