Eine einfache Zeitmessung (Auflösung: 10ms) läßt sich mit "GetTickCount" realisieren.
....
at := GetTickCount; // Anfangszeit
fn := fib(n);
et := GetTickCount; // Endzeit
eIterativ.text := IntToStr(fn);
eIterZeit.text := IntToStr(et-at);
....
|
Wesentlich genauer ist der Hochauflösungszähler (Auflösung: 0,00083ms)
(R150,
[DK]):
....
c,n1,n2 : TLargeInteger;
....
QueryPerformanceFrequency(c); // Auflösung bestimmen
....
QueryPerformanceCounter(n1);
fn := fib(n);
QueryPerformanceCounter(n2);
....
eIterZeit.text := format('%g',[(n2-n1)/c]); // zu format und Formatstrings Hilfe befragen!
....
|