![]() |
Stopuhr/Laufzeit
Hallo Zusammen
bin eigentlich noch ein anfänger, hoffe aber dass ihr mir helfen könnt! In der Schule nehmen wir Sortier-Algorithmen ducrh. Als Zusatz will ich nun in mein Programm, das 4 Algorithmen umfasst, eine Funktion einbauen, die anzeigt wie lange das Sortieren gedauert hat! Beispielsweise in einem Edit-Feld ausgedruckt wird, oder ein Label sichtbar wird, in dem die Zeit steht. Vielen Dank für eure Hilfe |
Re: Stopuhr/Laufzeit
Nimm eine Variable Zeit, mach vor dem algo ein Zeit := Gettickcount; und am ende sowas wie showmessage (inttostr(GettickCount - zeit));
(in ms) |
Re: Stopuhr/Laufzeit
Sowas hab ich schon versucht!
Mein COde sieht jetzt so aus
Code:
Er zeigt mir "0 ms" an.... !?!
Zeit:=GettickCount;
Quick(links,rechts); Endzeit:=(GettickCount-Zeit); Showmessage(IntToStr(Endzeit)+'ms'); |
Re: Stopuhr/Laufzeit
Vieleicht hast du zuwenige Sachen zum Sortieren ???
|
Re: Stopuhr/Laufzeit
es sind nur 10. ich machs dann halt mal mit 100!
|
Re: Stopuhr/Laufzeit
ist immer noch bei 0 ms! habs jetzt mal mit 100 versucht
|
Re: Stopuhr/Laufzeit
tztztz ... um gute Erfebisse zu bekommen, solltest du das schon so mit min. 10.000 machen ...
Dann erkennst du auch Unterschiede in den Zeiten der versch. Sortieralgos ... |
Re: Stopuhr/Laufzeit
auch bei 100000 immer noch 0!
|
Re: Stopuhr/Laufzeit
:shock: Und er sortiert auch ????
Dann mach ma:
Delphi-Quellcode:
queryperformancecounter (anfang);
// ... queryperformancecounter (ende); queryperformancefrequency (frq); zeit = (ende - anfang) / frq; |
Re: Stopuhr/Laufzeit
probier es mal so:
Delphi-Quellcode:
wir haben das zur Zeit auch in der Schule ;-)
var summe, von, bis:integer;
begin von:=gettickcount; quick (..);//deine Sortierfunktion bis:=gettickcount; summe:=bis-von; LabelZeit:=strtoint(summe)+ 'ms'. end; |
Re: Stopuhr/Laufzeit
Wenn es nur um die Zeit dabei geht ist es doch einfach!
*mist* |
Re: Stopuhr/Laufzeit
Jetzt gehts endlich! Danke für deine Hilfe. Hatte einen doofen fehler gemacht! für 10.000 braucht er nun 1125ms! Ist das viel?
|
Re: Stopuhr/Laufzeit
Zitat:
|
Re: Stopuhr/Laufzeit
naja, es ist normal!
Die Zeit hängt von deiner Rechenleistung ab. Mit "gettickcount" sagt dir, wielange dein Rechner schon an ist. |
Re: Stopuhr/Laufzeit
Zitat:
//edit: Wegen der Frage "ist das viel": Du musst imho alle Sortier-algos auf deinem PC einzeln messen und vergleichen. Und vorher am besten ALLE Programme schließen, die du nicht brauchst und die meisten Prozesse beenden, die nebenher laufen, sonst werden deine Ergebnise verfälscht (weil ein Programm dann z.B. kurzzeitig ein wenig mehr Rechenleistung braucht, als sonst...). ;) |
Re: Stopuhr/Laufzeit
gut.
|
Re: Stopuhr/Laufzeit
ja ich hatte vergessen das Array zu ändern. Anfängerfehler halt *schaem*
okay. danke für eure hilfe! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz