Как мне прочитать вывод команды IPython% prun (profiler)?

Я запускаю это:

In [303]: %prun my_function()
         384707 function calls (378009 primitive calls) in 83.116 CPU seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
    37706   41.693    0.001   41.693    0.001 {max}
    20039   36.000    0.002   36.000    0.002 {min}
    18835    1.848    0.000    2.208    0.000 helper.py:119(fftfreq)

- snip -

Что делают каждый из tottime, percall, cumtime? ncalls довольно очевидно (сколько раз функция вызывается). Мое предположение состоит в том, что tottime - это общее время, потраченное на функцию, за исключением времени, затраченного на вызовы ее собственных функций; перколл ???; cumtime - это общее время, потраченное на вызов функции, включая время, затраченное на вызовы ее собственных функций (но, конечно, без двойного счета). Документы не слишком полезны; Поиск в Google тоже не помогает.

30
задан Peter D 15 August 2011 в 19:30
поделиться