Ich habe vor kurzem angefangen, eine Server-Anwendung zu profilieren, an der ich gearbeitet habe, um herauszufinden, wo etwas überschüssige Prozessorzeit ausgegeben wird und nach Möglichkeiten zu suchen, Dinge reibungsloser zu machen.Python cProfile Ergebnisse: zwei Zahlen für ncalls
Insgesamt denke ich, ich habe ein gutes Gefühl mit cProfile und Pstats, aber ich verstehe nicht, wie einige Funktionen zwei Zahlen in der Spalte ncalls auflisten.
Zum Beispiel, warum gibt es in den untenstehenden Ergebnissen zwei Zahlen für alle copy.deepcopy Zeug?
2892482 function calls (2476782 primitive calls) in 5.952 seconds
Ordered by: cumulative time
ncalls tottime percall cumtime percall filename:lineno(function)
27 0.015 0.001 5.229 0.194 /usr/local/lib/python2.7/twisted/internet/base.py:762(runUntilCurrent)
7 0.000 0.000 3.109 0.444 /usr/local/lib/python2.7/twisted/internet/task.py:201(__call__)
7 0.000 0.000 3.109 0.444 /usr/local/lib/python2.7/twisted/internet/defer.py:113(maybeDeferred)
5 0.000 0.000 2.885 0.577 defs/1sec.def:3690(onesec)
5 2.100 0.420 2.885 0.577 defs/1sec.def:87(loop)
1523 0.579 0.000 2.105 0.001 defs/cactions.def:2(cActions)
384463/1724 0.474 0.000 1.039 0.001 /usr/local/lib/python2.7/copy.py:145(deepcopy)
33208/1804 0.147 0.000 1.018 0.001 /usr/local/lib/python2.7/copy.py:226(_deepcopy_list)
17328/15780 0.105 0.000 0.959 0.000 /usr/local/lib/python2.7/copy.py:253(_deepcopy_dict)
Danke. Das passt zu dem, was ich unter https://docs.python.org/2/library/profile.html#instant-user-s-manual gefunden habe ... Dieser frustrierende Moment, wenn Sie eine Frage stellen und dann die Antwort finden a ein paar Minuten später mit weiteren Graben. Ich konnte nicht auf meinen eigenen Beitrag antworten, da ich nie zuvor auf dieser Seite veröffentlicht habe und unter 10 Wiederholungen habe. –