首页 > 解决方案 > 在 jupyter 笔记本中使用 %%prun 单元魔法的单元格中的时间线?

问题描述

我正在尝试在 jupyter 笔记本单元格中计时几行,并正在探索使用%%prun单元格魔法。但是,输出显示的主要是我的单元格调用的函数,而不是单元格本身的顶级行。

例如,如果我运行以下命令(在单元格中):

%%prun

x = np.random.rand(10, 10)
y = np.random.rand(10000, 10000)

输出是:

 5 function calls in 1.353 seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        2    1.353    0.677    1.353    0.677 {method 'rand' of 'mtrand.RandomState' objects}
        1    0.000    0.000    1.353    1.353 {built-in method builtins.exec}
        1    0.000    0.000    1.353    1.353 <string>:3(<module>)

这有助于表明 rand 方法花费了大部分时间,但它并没有表明将随机矩阵分配给 y 比分配给 x 花费的时间几乎多 6 个数量级。有没有办法告诉单元格中的哪条线路负责哪些呼叫?还是简单地显示每行的时间?

标签: pythonjupyter-notebook

解决方案


推荐阅读