python – time.time与timeit.timeit

python – time.time与timeit.timeit,第1张

概述有时,我喜欢计算运行代码的部分时间.我已经检查了很多在线网站,并且已经看到了两种主要方法.一个是使用time.time,另一个是使用timeit.timeit. 所以,我写了一个非常简单的脚本来比较两者: from timeit import timeitfrom time import timestart = time()for i in range(100): print('ABC') 有时,我喜欢计算运行代码的部分时间.我已经检查了很多在线网站,并且已经看到了两种主要方法.一个是使用time.time,另一个是使用timeit.timeit.

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

from timeit import timeitfrom time import timestart = 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 run0.0 0.012654680972022981# Second run0.031000137329101562 0.012747430190149865# Another run0.0 0.011262325239660349# Another run0.016000032424926758 0.012740166697164025# Another run0.016000032424926758 0.0440628627381413

正如您所看到的,有时候,time.time更快,有时速度更慢.哪种方式更好(更准确)?

解决方法 timeit更准确,原因有三:

>它会多次重复测试,以消除机器上其他任务的影响,例如磁盘刷新和 *** 作系统调度.
>它禁用垃圾收集器,以防止该进程通过在不合适的时刻安排集合运行来扭曲结果.
>它为Python 3中的 *** 作系统,time.time或time.clock选择最准确的计时器.参见timeit.default_timer.

总结

以上是内存溢出为你收集整理的python – time.time与timeit.timeit全部内容,希望文章能够帮你解决python – time.time与timeit.timeit所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1191007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存