为什么 timeit.timeit 中执行时间的计算比 time.time 慢?

Why calculation of execution time is slower in timeit.timeit than time.time?

我刚刚查看了 Python 官方文档中的 timeit,我编写了下面的程序并进行了观察。使用 timeit.timeit 执行大约需要 12 秒,而时差输出(使用 time.time)显示为 0 秒。为什么会有这么大的差异。

# CASE 1
# import timeit
# mysetup = """from math import sqrt """
# mycode = """
# lst = []
# for i in range(100):
#     lst.append(sqrt(i))"""
# print(timeit.timeit(setup=mysetup, stmt=mycode))

# CASE 2    
import time
from math import sqrt
t1 = time.time()
lst = []
for i in range(100):
    lst.append(sqrt(i))
t2 = time.time()
print(lst)
print(t2-t1)

python 中的 timeit 模块可帮助您测量 Python 代码的执行时间。与时间模块相比,此模块为您提供了更精确的测量,因为它忽略了系统上的后台进程 运行,这可能会对您的代码执行产生影响。

time 相比,使用 timeit 模块的另一个优势是,默认情况下,它会执行 100 万次执行,然后再为您提供估算值.这允许您对 python 代码进行统计相关的测量。

timeit 尝试多次执行代码片段,并在输出中给出一个平均结果。