我正在尝试在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个数量级的时间。有什么方法可以告诉小区中的哪条线路负责哪些呼叫?还是仅显示每行的时间?