分析笔记本 - IPython

时间:2015-02-04 18:15:33

标签: profiling ipython ipython-notebook

IPython Notebook是否附带了一种分析其单元格内容的方法?

如果没有,我如何分析单元格的一部分或整个笔记本?

1 个答案:

答案 0 :(得分:0)

IPython Notebook具有非常方便的%prun%%prun命令。 %prun用于分析一行代码,%%prun用于分析整个单元格。

您可以在此处找到文档:http://ipython.readthedocs.org/en/stable/interactive/magics.html#magic-prun

这是一个简短的用法示例:

%%prun -s cumulative

import numpy as np
import scipy.linalg as la

for i in range(30):
    a = np.random.randint(100,size=(1000, 1000))
    la.inv(a)

如果执行此单元格,则输出类似于

1053 function calls in 4.152 seconds

Ordered by: cumulative time

ncalls  tottime  percall  cumtime  percall filename:lineno(function)
    1    0.001    0.001    4.152    4.152 <string>:3(<module>)
   30    3.502    0.117    3.505    0.117 basic.py:612(inv)
   30    0.646    0.022    0.646    0.022 {method 'randint' of 'mtrand.RandomState' objects}
   30    0.000    0.000    0.002    0.000 lapack.py:382(get_lapack_funcs)