我如何知道我的Python程序的解释时间?

25 浏览
0 Comments

我如何知道我的Python程序的解释时间?

我想要测量执行一个函数所用的时间。但我无法使用 timeit

import timeit
start = timeit.timeit()
print("hello")
end = timeit.timeit()
print(end - start)

admin 更改状态以发布 2023年5月20日
0
0 Comments

使用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?

另请参阅:

0
0 Comments

使用time.time()来测量两个点之间经过的墙上时钟时间:

import time
start = time.time()
print("hello")
end = time.time()
print(end - start)

这将在秒钟内给出执行时间。


自Python 3.3以来的另一种选择是,根据您的要求使用perf_counterprocess_time。在3.3之前,建议使用time.clock (感谢Amber)。但是,当前已弃用:

在Unix上,返回当前处理器时间,以秒为单位的浮点数。
精度,实际上是与同名C函数的含义的定义
“处理器时间”的含义取决于。

在Windows上,此函数返回自第一次调用该函数以来经过的墙上秒数,
作为浮点数,基于
Win32函数QueryPerformanceCounter()。分辨率通常为
比一微秒更好。

自版本3.3起弃用:此功能的行为取决于
平台:使用perf_counter()process_time()取而代之
根据您的要求,具有良好定义的行为。

0