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

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.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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

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?
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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: Alles auswählen

$ 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
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Karl
User
Beiträge: 252
Registriert: Freitag 29. Juni 2007, 17:49

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:

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

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:

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

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.
Antworten