Quelltext von Python kommentieren, wenn qcachegrind zum Verarbeiten der profilestats-Ausgabe verwendet wird

9

Kcachegrind dient als wunderbares Werkzeug, um den Hotspot beim Profiling von Code visuell auf die Quellzeilenebene darzustellen. Ich fand es sehr nützlich, wenn ich meine C ++ - Code-Basis optimieren möchte. Für mein neuestes Python-Projekt habe ich Kcachegrind verwendet, um die Ausgabe von Profilstatistiken zu verarbeiten. Kcachegrind ist ein Linux-Dienstprogramm, aber verschiedene inoffizielle Ports sind verfügbar und ich verwende qcachegrind . Im Allgemeinen funktioniert es zu einem großen Teil und ist für die meisten Probleme ausreichend, außer dass es mir schwer fällt, die Quellenanmerkung zu erhalten.

Auf der Registerkarte "Quelle" werde ich mit der bekannten fehlenden Nachricht

begrüßt %Vor%

Verwenden Sie die Option

%Vor%

und das Quellenbasisverzeichnis hinzuzufügen war nicht nützlich.

Ich habe das Gefühl, dass das Dienstprogramm ein ELF-Objekt haben möchte, das für Python nicht relevant ist. Jede Hilfe in dieser Hinsicht wäre nützlich.

Relevante Informationen:

  • Python 2.7
  • Profilstatistiken (2.0)
  • QCachegrind 0.7.4
  • Windows 2012R2
Abhijit 29.06.2015, 06:49
quelle

1 Antwort

1

Ich zweite @ taleniat Kommentar. Ich bin ein OSX-Benutzer. Ich hatte Probleme, qcachegrind zur Arbeit zu bringen, also habe ich pyprof2calltree benutzt und es funktioniert perfekt, inklusive Quellcode-Tab. YMMV.

Führen Sie zuerst Ihr Skript mit cProfile

aus

python -m cProfile -o report.profile report.py

Dann können Sie pcprof2calltree verwenden, um qcachegrind zu starten (keine Zwischenkonvertierung erforderlich).

pyprof2calltree -k -i report.profile

übrigens, Python 2.7.10 und qcachegrind 0.7.4 installiert über Homebrew auf OSX 10.11

    
Josep Valls 24.11.2015 22:32
quelle