Wie lese ich die Ausgabe des IPython %prun (profiler) - Befehl?

Ich dies ausführen:

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--

Was tun, jeder von tottime, percall, cumtime? ncalls ist ziemlich offensichtlich (Anzahl, wie oft die Funktion aufgerufen wird). Meine denke ist, dass tottime ist die Gesamtzeit, in der Funktion ohne Zeit, seine eigene Funktion aufruft; percall ist ???; cumtime ist die Gesamtzeit, in der der Aufruf der Funktion einschließlich der Zeit, die seine eigene Funktion aufruft (aber natürlich ohne Doppelzählungen). Die docs sind nicht allzu hilfreich, die Google-Suche nicht helfen.

InformationsquelleAutor Peter D | 2011-08-15
Schreibe einen Kommentar