![]() |
Zeit automatisch stoppen
Also: Ich suche eine Möglichkeit die Zeit zu stoppen, während Delphi Zahlen sortiert. Ist die Sortierung fertig wird die Zeit auch automatisch gestoppt. Danach soll die gestoppte Zeit angezeigt werden, wie lange Delphi brauchte um die Zahlen zu sortieren. Wie geh ich da am ehesten ran?
Danke :-D |
Re: Zeit automatisch stoppen
Einfluß auf das Raum-Zeit-Gefüge kann man mit Delphi nicht nehmen, aber du kannst es mal mit "GetTickCount" oder "QueryPerformanceCounter" versuchen (Dazu gibts hier bestimmt was im Forum).
Grüsse, Dirk |
Re: Zeit automatisch stoppen
Mit
![]() |
Re: Zeit automatisch stoppen
Link funktioniert nicht ;)
|
Re: Zeit automatisch stoppen
Zitat:
|
Re: Zeit automatisch stoppen
Zitat:
|
Re: Zeit automatisch stoppen
Zitat:
|
Re: Zeit automatisch stoppen
Zitat:
|
Re: Zeit automatisch stoppen
Delphi-Quellcode:
...
procedure bla(); var zeit_vor, Zeit_nach, Zeit_gesamt : Int64; begin zeit_vor:=GetTickCount; Sortiere(...); zeit_nach:=GetTickCount; Zeit_gesamt:=Zeit_nach - Zeit_vor; Showmessage('Sortierung dauerte '+IntToStr(Zeit_gesamt)+' ms'); end; |
Re: Zeit automatisch stoppen
- Erstmal kommt es darauf an, wie lange die Messung dauern soll
(GetTickCount und Now ist recht einfach zu nutzen, aber die Messnug sollte mindestens mehrere 100 Millisekunden andauern, da die Genauigkeit bei 15-20 ms liegt) - dann auch noch darauf, wie genau die Messung sein soll (wie gesagt, GetTickCount und Now haben eine gewisse Tolleranz) - und sogar auf die Delphi-Version kommt es an (also was man alles nutzen kann) im Prinzip geht es immer so: [edit] siehe Noedel
Delphi-Quellcode:
Start := aktuellZeit;
//messung Ende := aktuelleZeit; Dauer := Ende - Start;
Delphi-Quellcode:
PS: Es dürfte in der DP (vielleicht sogar in der CodeLil) einige Codes/Klassen/Komponenten zur Zeitmessung existieren.
Dauer := GetTickCount;
//messung Dauer := GetTickCount - Dauer; // Dauer anzeigen ... Zeit in Millisekunden Zum Debuggen/Optimieren von Code nehme ich seit Jahren eigene Codes > das aktuellste versteckt sich da mit in dem Thread ![]()
Delphi-Quellcode:
Der Code ist allerdings auf viele und auch kurze Messungen optimiert
Timer.Init;
Timer.Start(1); // hier das zu Messende Timer.Stop(1); Timer.Show; und verlangt Funktionalitäten, welche ab Delphi 2006 (TDE) vorhanden sind. (läßt sich aber auch alles in eine Klasse verpacken und als Objekt und mit "normalen" Methoden wären auch mehrere Timer-Objekte möglich) ... wie gesagt, in dieser Fassung ist der Code für's Debuggen optimiert und mißt mit 'ner Auflösung von fast 'ner Mikrosekunde. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 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