Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: JCLCounter - High Performance Counter

  Alt 14. Jun 2007, 13:32
Zitat von fLaSh11:
zu faul um ne zeitmessung selber zu amchen? Ist doch viel einfacher als irgendeine Kompo zu nutzen...
Na ja, die Klassen aus der JCL haben schon ihre Berechtigung.
1. kann der Zeitoverhead für den Funktionsaufruf herausgerechnet werden
2. kann man mehr als nur eine Zeitmessung vornehmen. Ohne Kapselung in eine Klasse verliert man völlig den Überblick.
3. man kann die Zeit anhalten und die abgelaufene Zeit erst viel später anzeigen
4. dein code-Schnippsel prüft den Returnwert von QueryPerformanceFrequency nicht !!

Aber egal, auch TJclCounter benützt QueryPerformanceCounter/Frequency.
Delphi-Quellcode:
  // hier der entscheidende Ausschnitt aus dem Sourcecode
  if not QueryPerformanceFrequency(FFrequency) then
    // 'No high performance counters supported'
    raise EJclCounterError.CreateRes(@RsNoCounter);
Die MSDE sagt:
Zitat:
If the function fails, the return value is zero. To get extended error information, call GetLastError. For example, if the installed hardware does not support a high-resolution performance counter, the function fails.
Also, was sagt GetLastError ?
Andreas
  Mit Zitat antworten Zitat