Zitat von
Jelly:
Es ist aber nicht die Funktion "now" die solange rechnet, um die Zeit auszugeben, sondern von wo die Zeit genommen wird, und die steht im BIOS, wenn ich mich gut erinnere.
Ich hab' die Zeit gemessen. 0,05 Millisekunden beim ersten Aufruf. Da kann ich ganz schön oft Now Aufrufen bis ich eine Millisekunde zusammen hab.
Was will man da noch optimieren?
Edit: Falls es jemanden interessiert wie ich gemessen hab...
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
Frequenzy, Start, Stop: Int64;
DateTime: TDateTime;
begin
// Erste Messungen - Ergebnis sollte bei 1000 liegen
QueryPerformanceFrequency(Frequenzy);
QueryPerformanceCounter(Start);
Sleep(1000);
QueryPerformanceCounter(Stop);
ShowMessage(FormatFloat('0.000', (Stop - Start) * 1000 / Frequenzy));
// Zweite Messungen - Mal sehen wie schnell Now ist
QueryPerformanceFrequency(Frequenzy);
QueryPerformanceCounter(Start);
DateTime := Now;
QueryPerformanceCounter(Stop);
ShowMessage(FormatFloat('0.000', (Stop - Start) * 1000 / Frequenzy));
DateToStr(DateTime);
end;