IPython%timeit magic命令在测量运行一些Python代码所需的时间方面做得很好。现在,我想在Python脚本中使用类似的东西。我知道timeit模块,但是它有几个缺点,例如,如何自适应地选择运行次数?i、 e.默认代码
import timeit
t=timeit.Timer("code(f)", "from __main__ import code,f")
t.timeit()
运行代码一百万次。%timeit IPyhton magic命令会自动执行此操作。我建议我可以使用类似于MATLAB的代码 http://www.mathworks.com/matlabcentral/fileexchange/18798
这会自动完成所有的工作(同时也会告知函数的开销是否很大)。
如何从Python脚本调用%timeit magic(或者可能有更好的计时解决方案)?
这取决于你的IPython版本。如果你有1.x:
如果您有旧版本:
或者
完成此操作后,请运行如下神奇命令:
请注意,脚本必须通过
ipython
运行。当使用
python -m timeit
调用IPython和timeit
模块时,以number的增长值执行同一个循环,直到计时结果超过某个阈值,从而确保时间测量基本上不受操作系统干扰。您可以将IPython implementation of the ^{} magic 与Python ^{} standard module 进行比较,以查看它们基本上是相同的。
因此,回答您的问题时,您可能应该复制相同的循环,直到找到number参数的正确值。
如果在IPython中以交互方式运行Python脚本,则以下操作有效。E、 g.,
test.py
:然后在IPython中交互运行
说出时间。必须使用
-i
开关,以便变量在作用域中。如果不运行IPython实例,也就是从IPython导入timeit
并将其用作函数,我就不知道如何做到这一点。但是,这个解决方案适合我的目的,即自动化一些计时运行。相关问题 更多 >
编程相关推荐