Die Laufzeit eines Programmes bestimmen?

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.
Karl
User
Beiträge: 252
Registriert: Freitag 29. Juni 2007, 17:49

Die Laufzeit eines Programmes bestimmen?

Beitragvon Karl » Dienstag 22. April 2008, 22:04

Hallo.
Ich will nur mal so ein bisschen rumspielen, wie die Funktionen, die ich schreibe, am schnellsten laufen.
Dazu muss ich eben nur wissen, wie ich rauskriegen kann, wie viel Zeit das Skript benötigt hat, bis es fertig ist.
Also die Frage ist ziemlich simpel: Wie geht das? ;)
Btw: Ich hab schon gesucht aber unter dem Suchbegriff "Laufzeit" und ähnlichen Abwandlungen kann man sich ja vorstellen, was man findet.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 22. April 2008, 22:09

Das Unix-Programm ``time`` bietet sich an, zum Testen kleinerer Funktionen ist das Modul ``timeit`` da.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Karl
User
Beiträge: 252
Registriert: Freitag 29. Juni 2007, 17:49

Beitragvon Karl » Dienstag 22. April 2008, 22:14

Leonidas hat geschrieben:Das Unix-Programm ``time`` bietet sich an, zum Testen kleinerer Funktionen ist das Modul ``timeit`` da.

Thx, ich schau mir mal die help() von ``timeit`` an;)
Mit ``time`` meinst du wohl einfach timestamps?
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 22. April 2008, 22:24

Karl hat geschrieben:Mit ``time`` meinst du wohl einfach timestamps?

Nein, mit ``time`` meine ich das Unix-Programm:
[code=]$ time uptime
23:23:50 up 1:00, 3 users, load average: 0.77, 0.47, 0.39

real 0m0.034s
user 0m0.001s
sys 0m0.004s[/code]
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Karl
User
Beiträge: 252
Registriert: Freitag 29. Juni 2007, 17:49

Beitragvon Karl » Dienstag 22. April 2008, 22:27

Setzt aber vorraus, dass ich Linux o.Ä hab? Beziehungsweise kriegt man sowas bestimmt auch auf Windows zum laufen aber ... Jedenfalls hab ich Windows ;)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Mittwoch 23. April 2008, 06:37

Naja, der klassische Indikator für Algorithmen sind ja die O-Klassen. Ich denke dafür gibt es vermutlich keinen Code-Analysator für Python ;-)

Erst beim Feintuning können einem da Zeitmessungen helfen denke ich - wichtig ist davor aber ein guter Algorithmus!

@Karl: Ich könnte mir vorstellen, dass time auch unter Cygwin läuft!
BlackJack

Beitragvon BlackJack » Mittwoch 23. April 2008, 09:46

Und beim Zeitmessen immer darauf achten, was man misst. Sehr oft sind die Ergebnisse "falsch" bzw. werden nicht richtig interpretiert.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Mittwoch 23. April 2008, 09:52

[mod]profile[/mod] ist da auch sehr nuetzlich.
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Karl
User
Beiträge: 252
Registriert: Freitag 29. Juni 2007, 17:49

Beitragvon Karl » Mittwoch 23. April 2008, 18:22

Okay, danke für die Antworten erstmal ;)
Ich werd mir dann mal die entsprechenden Module genauer anschauen.
Ich hab's jetzt der einfachheit Halber mal mit einem Timestamp gemacht

Code: Alles auswählen

x = time.time()
#...
print time.time() - x

Ich hab eigentlich noch nicht vor, irgendetwas feinzutunen ich wollt einfach nur mal aus Interesse testeb, wie sich was auf die Laufzeit auswirkt.

Wer ist online?

Mitglieder in diesem Forum: Baidu [Spider]