Execution Time

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
4bit
User
Beiträge: 113
Registriert: Dienstag 5. Mai 2009, 11:27

Hallo zusammen,

Weiß jemand, ob der Python Compiler eine "execution time" Auswertung machen kann? Im Sinne von:

(1) Für jede Funktion / Methode die Anzahl der Aufrufe und
(2) Die Summe der Zeiten die für jede Funktion / Methode insgesamt gebraucht wurde.

Könnte man natürlich auch selbst schreiben, ist aber soweit ich verstanden habe eine übliche Leistungsuntersuchung und wird deshalb manchmal mit dem Compiler mitgeliefert..

Grüße,
4bit.
BlackJack

@4bit: Das ist weniger eine Compiler- denn eine Laufzeitfrage. Und die Standardbibliothek bringt da in der Tat etwas mit. Das Stichwort heisst "profiling".
4bit
User
Beiträge: 113
Registriert: Dienstag 5. Mai 2009, 11:27

Danke BlackJack. Habe gerade
python -m cProfile test_filterByCTL.py
aufgerufen und genau die Infos bekommen, die ich gesucht habe. Eine Frage noch: Weißt du was für eine Datei mit
-o text_filterByCTL.txt
erzeugt wird? Kann die mit gedit (linux) nicht öffnen.

Grüße,
4bit
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

BlackJack

@4bit: Die Datei enthält Binärdaten. In der Standardbibliothek kann man die mit dem `pstats`-Modul wieder einlesen. Das Modul kann man auch als Programm starten und bekommt eine Art Shell um solche Daten zu inspizieren. Einfach mit ``python -m pstats`` starten und 'help' eingeben (ohne die Anführungszeichen). Optional kann man die Datei mit den Profilingdaten auch gleich beim Starten auf der Kommandozeile angeben.
4bit
User
Beiträge: 113
Registriert: Dienstag 5. Mai 2009, 11:27

@cofi: sieht cool aus.

@blackjack: Ja hab ich auch grade nachgelesen. Schade dass weder cProfile noch pstats die Ergebnisse einfach als Text speichern können. Zwecks Daten mit Excel bearbeiten. Andererseits reicht es mir erstmal auch die Tabelle aus der Konsole zu kopieren.

Grüße,
4bit.
Antworten