3 回答
TA贡献1802条经验 获得超4个赞
我认为您的问题是 timeit 模块的使用。未指定时,参数number默认为 1e6。因此,您要有效测量的是将一百个数字附加到数组 1e6 次需要多长时间。
为了验证这一点,我使用了以下代码片段:
import timeit
alist = list(range(100))
L = []
def test():
for i in alist:
L.append(i)
elapsed = timeit.timeit("test()", setup="from __main__ import test, alist, L", number=1000000)
print('average time elapsed', elapsed/1000000)
在我的机器上,我得到了以下结果:
7.74517...e-06
我不知道您是如何测量 txt 文件的 append 函数的,但您可以尝试以相同的方式对其进行测试。
TA贡献1772条经验 获得超6个赞
如果你使用 iPython,你可以使用它的%timeit魔法命令看到更清晰的结果解释。
In [1]: def test():
...: """Stupid test function"""
...: L = []
...: for i in range(100):
...: L.append(i)
...:
In [2]: %timeit test()
7.12 µs ± 22.9 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
这里的结果是每次调用 的平均时间为 7.12 微秒test,平均值计算了 7 组 100,000 次调用test。这与 DocDriven 在他的回答中报告的 7.75 微秒一致。
添加回答
举报