Seite 1 von 1

Execution Time

Verfasst: Mittwoch 23. März 2011, 12:45
von 4bit
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.

Re: Execution Time

Verfasst: Mittwoch 23. März 2011, 12:51
von BlackJack
@4bit: Das ist weniger eine Compiler- denn eine Laufzeitfrage. Und die Standardbibliothek bringt da in der Tat etwas mit. Das Stichwort heisst "profiling".

Re: Execution Time

Verfasst: Mittwoch 23. März 2011, 13:26
von 4bit
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

Re: Execution Time

Verfasst: Mittwoch 23. März 2011, 13:35
von cofi

Re: Execution Time

Verfasst: Mittwoch 23. März 2011, 14:34
von 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.

Re: Execution Time

Verfasst: Mittwoch 23. März 2011, 14:49
von 4bit
@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.