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 ?