如何使用%timeit命令计时整个IPython笔记本?

3

我知道在IPython笔记本中使用魔法命令%timeit来计算单个函数的时间。

然而,我现在需要提供执行整个IPython笔记本计算所需的时间。我该怎么做?

一种选择是将IPython笔记本保存为扩展名为.py的Python文件,然后在命令行中运行整个时间特性。

然而,我要处理多个matplotlib函数和pylab的调用。这可能需要很长时间,并且会导致运行时错误。

如何解决这个问题?

1个回答

2
你可以:
  1. 将笔记本导出为*.py文件。
  2. 创建一个新的笔记本。
  3. *.py文件的全部内容复制到此笔记本的一个单元中。
  4. 通过在第一行添加此命令,使用%%timeit(注意双重%)计时此单元。
你可能需要编辑单元格内容,因为魔术命令%已被注释掉。例如,你不想测量调用%matplotlib inline等命令的时间。因此,将这些魔法命令移动到一个单独的单元格中似乎是明智的。

可能有一种更简单的方法,使用runipy - 但我不确定它是否已经完全兼容ipython-4.x。 - cel
@cel runipy 看起来很有趣。调用 notebook_instance.run_notebook() 可能会计算笔记本中除了算法之外的各种内部设置代码的时间。它提供显式的计时支持吗? - Mike Müller
我不这么认为,我猜测只有在runipy的开销相对于笔记本执行大小很小的情况下,结果才是准确的。 - cel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接