Python cProfile Ergebnisse: zwei Zahlen für ncalls

8

Ich habe gerade erst damit begonnen, eine Serveranwendung zu erstellen, an der ich gearbeitet habe, um herauszufinden, wo ein wenig Prozessorzeit verbraucht wird, und nach Möglichkeiten zu suchen, die Dinge flüssiger zu machen.

Insgesamt glaube ich, dass ich mit cProfile und pstats sehr gut zurecht komme, aber ich verstehe nicht, wie einige Funktionen in der Spalte ncalls zwei Zahlen auflisten.

In den folgenden Ergebnissen werden beispielsweise zwei Zahlen für alle copy.deepcopy-Dateien aufgeführt.

%Vor%     
Andrew Baird 11.04.2014, 17:28
quelle

1 Antwort

10

Die kleinere Zahl ist die Anzahl der 'primitiven' oder nicht-rekursiven Aufrufe. Die größere Zahl ist die Gesamtanzahl von Aufrufen einschließlich rekursiver Aufrufe. Da deepcopy rekursiv implementiert ist, bedeutet das, dass Sie decopy direkt 1724 Mal aufgerufen haben, aber dass es sich letztendlich ~ 383k mal aufgerufen hat, um Unterobjekte zu kopieren.

    
Evan 11.04.2014, 18:03
quelle

Tags und Links