![]() |
Wie schnell ist Now?
Hi
mich würde interessieren wie schnell die funktion Now aus der unit DateUtils ist und ob es sich lohnt den wert von now in eine extra varible zu speichern und dann mit bestimmten werten zu vergleichen oder now jedesmal direkt aufzurufen MfG tn249 |
Re: Wie schnell ist Now?
Benutze es doch direkt ohne Variable. 8)
|
Re: Wie schnell ist Now?
Tu ich doch, aber mein Programm prüft Now rel. oft und der PC is lahm, sodass ich mir darüber gedanken machen muss
|
Re: Wie schnell ist Now?
Hi tn249,
wenn dein Programm immer die aktuelle zeit benötigt, dann verwende Now direkt. Falls du mit einer Zeit mehrere Berechnungen durchführen musst, und die Zeit dabei von großer Bedeutung ist, dann verwende eine Variable. Ich hoffe ich hab dich jetzt nicht noch mehr durcheinandergebracht :mrgreen: Greetz alcaeus |
Re: Wie schnell ist Now?
Also normalerweise ist now in der Lage in Millisekundenschritten zu arbeiten, aber aus technischen Gründen arbeitet Now nur in 10-Millisekundenschritten.
Zur Verwendung: machst wie alcaeus sagte, also wenn die selbe Zeit in mehreren Operationen verwendet wird, dann nimm 'ne Variable. |
Re: Wie schnell ist Now?
Die 10-Millisekunden-Schritte sind aber Rechnerabhängig. Bei mir z.B. hab ich bemerkt, dass nur alle 16ms now aktualisiert wird.
|
Re: Wie schnell ist Now?
könnte stimmen ... jetzt wo du's sagst hatten wir (glaub ich) schonmal 20, oder 25ms
Also weniger als 1ms wird es nie - ist Aufgrund der inneren Aufbaus von Now nicht möglich, aber die wird wohl nie erreicht. PS: ich hab mal 'ne Messreie gemacht und dort ging es in 10ms-Schritten, aber wenn ich die jetzt wiederhole, dann sind es zwar weiterhin 10ms, allerdings immer in 'nem anderen Bereich (also einmal ist es z.B. 3-13-23-33... und ein anderes Mal z.B. 7-17-27-37... :gruebel: , oder eben anders) [edit] OK, ich hab's, warum sich das bei mir so "eigenartig" ändert - es sind halt nicht genau 10ms (bei mir), sondern durchschnittlich eben 10.015 ms (und in meiner kurzen Messreihe ist der Sprung zufällig nie aufgetaucht) :wall: |
Re: Wie schnell ist Now?
also kann man davon ausgehen das now ca 10 ms sec braucht
da frage ich mich jetzt wenn wir schon dabei sind das so genau zu erläutern wie schnell eine variable in der der wert von now gespeichert werden kann initialisiert werden kann und wie schnell eine wertzuweisung ist und wenn mans jetzt ganz genau haben möchte müsste man ja noch den prozessor mit einbeziehen, da ja nichtnur die taktfrequenz entscheidend ist sondern wie schnell der prozessor die verschiedenen basis rechenoperationen durchführen kann, --ich meine mich zu erinnern dass es da bautypen spezifische unterschiede gibt, aber das lassen wir jetzt besser aussen vor MfG und Danke schonmal tn249 |
Re: Wie schnell ist Now?
Liste der Anhänge anzeigen (Anzahl: 1)
Wer wissen möchte, wie schnell nun bei ihm Now reagiert, der kannst ja mal von Windows erfragen (siehe Demo), oder er mist nach (siehe Codeschnipsel)
Das Codeschnipsel Benötigt wir ein Button (Button1) und ein Editfeld (Edit1). Ausgegeben wird die durchschnittliche Dauer (in Millisekunden). Gemessen werden 1000 Zyklen (kann notfalls geändert werden), was bei 10ms Zyklusdauer etwa 10 Sekunden dauern sollte.
Delphi-Quellcode:
Die Demo
Procedure TForm1.Button1Click(Sender: TObject);
Var T, N: TTime; A: Integer; S: TTime; Begin S := Now; T := S; A := 0; While A <> 1000 do Begin N := Now; If N <> T Then Begin T := N; Inc(A); End; End; Edit1.Text := FloatToStr((N - S) * MSecsPerDay / A); Beep; Sleep(250); Beep; Sleep(250); Beep; End; Auf Seite 2 steht unter SystemTimeAdjustment / TimeAdjustment & TimeIncrement der Wert (Bedeutung siehe ![]() |
Re: Wie schnell ist Now?
Zitat:
Delphi-Quellcode:
fände ich da schöner 8)
repeat
n := now; if t <> n then begin t := n; inc(a); end; until a = 1000; Das, und auch nur aus Gründen der Ästhetik, nur am Rande! :cheers: nicht bös gemeint! gruss, dizzy \\edit: Und dann noch sowas:
Delphi-Quellcode:
*kopfschüttel* ;)
Beep; Sleep(250); Beep; Sleep(250); Beep;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:26 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