Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#16

Re: TFileTime addieren

  Alt 18. Feb 2008, 17:06
Hi,

wenn du ab und zu 0 als Ergebnis erhältst, dann könnte das daran liegen, dass sich die Laufzeit von DoAlgorithm nahe der Zeitauflösung (10 ms) bewegt. Um "einigermaßen verlässliche" Ergebnisse zu erzielen, wirst du wohl minimal 2 * 10 ms messen müssen. Ansonsten halte ich das mehrmalige Auftreten desselben Ergebnisses nicht unbedingt für einen Fehler. Bei geeigneten Testfällen wirst du bemerken, dass du durchaus variierende Zeiten erhältst - aus ähnlichen Gründen wie bei der Verwendung von QueryPerformanceCounter.

Delphi-Quellcode:
function GetUsageTime: TFileTime;
var
  ftDummy: TFileTime;
  ftKernelTime, ftUserTime: TFileTime;
begin
  GetProcessTimes(GetCurrentProcess, ftDummy, ftDummy, ftKernelTime, ftUserTime);
  Result := TFileTime(Int64(ftKernelTime) + Int64(ftUserTime));
end;
Wenn dein System gelegentlich eine Zeitsynchronisierung durchführt, dann sind die Ergebnisse natürlich verfälscht.

Freundliche Grüße
  Mit Zitat antworten Zitat