gpt4 book ai didi

python - time.time 与 timeit.timeit

转载 作者:IT老高 更新时间:2023-10-28 22:14:47 28 4
gpt4 key购买 nike

有时,我喜欢计算我的部分代码运行需要多长时间。我检查了很多在线网站,并且看到了两种主要的方法来做到这一点。一种是使用time.time,另一种是使用timeit.timeit

所以,我写了一个非常简单的脚本来比较两者:

from timeit import timeit
from time import time
start = time()
for i in range(100): print('ABC')
print(time()-start, timeit("for i in range(100): print('ABC')", number=1))

基本上,它计算在 for 循环中打印“ABC”100 次所需的时间。左边的数字是 time.time 的结果,右边的数字是 timeit.timeit 的结果:

# First run
0.0 0.012654680972022981
# Second run
0.031000137329101562 0.012747430190149865
# Another run
0.0 0.011262325239660349
# Another run
0.016000032424926758 0.012740166697164025
# Another run
0.016000032424926758 0.0440628627381413

如您所见,time.time 有时更快,有时更慢。哪种方法更好(更准确)?

最佳答案

timeit 更准确,原因有以下三个:

  • 它会多次重复测试以消除其他任务对您机器的影响,例如磁盘刷新和操作系统调度。
  • 它会禁用垃圾收集器,以防止该进程通过在不合时宜的时间安排收集运行来扭曲结果。
  • 它会为您的操作系统选择最准确的计时器,Python 2 中的 time.timetime.clocktime.perf_counter()在 Python 3 上。见 timeit.default_timer .

关于python - time.time 与 timeit.timeit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17579357/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com