------------
De sources van NLDDanyUtils zijn te vinden in:
ftp://ftp.nldelphi.com/public/OpenSo.../NLDDanyUtils/
------------
Dit is een nieuwe unit, die voorlopig 1 Class levert: TPerformanceTimer.
Deze "timer" is uitgevoerd als een stopwatch. Die kan gebruikt worden om de uitvoeringstijd van bepaalde stukken code te meten, waarbij die stukken code 1 of meedere keren kunnen doorlopen worden.
De timer kan gestart en gestopt worden (de totale gemeten tijd is de som van de tijden tussen iedere start en stop), alsook ge-reset (de gemeten tijd op nul gezet).
Bovendien telt de timer ook hoeveel keer er gestart (en gestopt) is, en levert daaruit ook de gemiddelde, maximum en minimum tijd tussen de starts en stops.
De interface ziet er zo uit:
Code:
interface
type
TPerformanceTimer = Class
private
FName : string; // Timer Name
FTimer : Int64; // total timer value
FStart : Int64; // interval start moment
FCount : Int64; // # of start/stop intervals
FMin : Int64; // minimum interval time
FMax : Int64; // maximum interval time
FFreq : Int64; // # of counts per second
public
constructor Create(Name: string = '');
procedure Reset;
procedure Start;
procedure Stop;
function Value: Extended;
function Count: Int64;
function Average: Extended;
function Maximum: Extended;
function Minimum: Extended;
property Name: string read FName write FName;
end;
Het gebruik is als volgt:
Code:
var T : TPerformanceTimer
....
T := TPerformanceTimer.Create('Naam van de timer');
....
T.Start;
.. de uitvoeringstijd van deze code wordt gemeten
T.Stop;
....
T.Start;
.. de uitvoeringstijd van deze code wordt gemeten
T.Stop;
....
Memo1.Lines.Add('Timer Name : ' + T.Name);
Memo1.Lines.Add('Timer Value : ' + FloatToStrF(T.Value, ffFixed, 7, 7));
Memo1.Lines.Add('Timer Count : ' + IntToStr(T.Count));
Memo1.Lines.Add('Timer Average: ' + FloatToStrF(T.Average, ffFixed, 7, 7));
..
T.Free;
Bookmarks