我想比较两个片段的执行时间,看看哪一个更快。因此,我想要一种准确的方法来测量 python 代码片段的执行时间。
我已经尝试过使用time.time()、time.process_time()、time.perf_counter_ns()以及timeit.timeit(),但我面临着与所有这些相同的问题。也就是说:当我使用上述任何方法来测量同一代码片段的执行时间时,每次运行它时它都会返回不同的值。这种变化有些显着,以至于我无法可靠地使用它们来比较两个片段的执行时间差异。
例如,我在我的 google colab 中运行以下代码:
import time
t1 = time.perf_counter()
sample_list = []
for i in range(1000000):
sample_list.append(i)
t2 = time.perf_counter()
print(t2 - t1)
Run Code Online (Sandbox Code Playgroud)
我运行上面的代码 10 次,结果的变化约为 50%(最小值 = 0.14,最大值 = 0.28)。
还有其他选择吗?