在 jupyter 笔记本中使用 %%prun cell magic 的单元格中的时间线?

cir*_*ter 6 python jupyter-notebook

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

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

%%prun

x = np.random.rand(10, 10)
y = np.random.rand(10000, 10000)
Run Code Online (Sandbox Code Playgroud)

输出是:

 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>)
Run Code Online (Sandbox Code Playgroud)

这有助于表明 rand 方法花费了大部分时间,但它并没有表明将随机矩阵分配给 y 比分配给 x 花费的时间几乎多出 6 个数量级。有什么办法可以知道单元中的哪条线路负责哪些呼叫?或者只是显示每行的时间?