Я пытаюсь рассчитать несколько строк в ячейке ноутбука Юпитера и изучаю магию ячейки %%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 случайной матрицы занимает почти на 6 порядков большевремя, чем назначение х.Есть ли способ сказать, какая линия в ячейке отвечает за какие вызовы?Или просто показать время для каждой строки?