一个强大的多行替代timeit
timerit的Python项目详细描述
计时器
python内置timeit模块的强大多行替代方案。
文件将在https://timerit.readthedocs.io/en/latest/
安装
来自PYPI:
pip install timerit
来自Github:
pip install git+https://github.com/Erotemic/timerit.git
示例
快速和肮脏的方式只需要一个缩进。
>>>importmath>>>fromtimeritimportTimerit>>>for_inTimerit(num=200,verbose=2):>>>math.factorial(10000)Timingfor200loopsTimedfor:200loops,bestof3timeperloop:best=2.469ms,mean=2.49±0.037ms
使用循环变量作为上下文管理器以获得更准确的计时或 合并未计时的设置阶段。您也可以访问 以编程方式使用结果的Timerit类的属性。
>>>importmath>>>fromtimeritimportTimerit>>>t1=Timerit(num=200,verbose=2)>>>fortimerint1:>>>setup_vars=10000>>>withtimer:>>>math.factorial(setup_vars)>>>print('t1.total_time = %r'%(t1.total_time,))Timingfor200loopsTimedfor:200loops,bestof3timeperloop:best=2.064ms,mean=2.115±0.05mst1.total_time=0.4427177629695507
还有一个简单的一行代码可以与ipython magic相媲美:
比较TimeIt版本:
>>>%timeitmath.factorial(100)564ns±5.46nsperloop(mean±std.dev.of7runs,1000000loopseach)
使用Timerit版本:
>>>Timerit(100000).call(math.factorial,100).print()Timedfor:1loops,bestof1timeperloop:best=4.828µs,mean=4.828±0.0µs