Parcourir la source

utlTiming: cleanup, RateLimiter

master
Martok il y a 11 ans
Parent
révision
2777fdbea3
1 fichiers modifiés avec 12 ajouts et 6 suppressions
  1. +12
    -6
      uutlTiming.pas

+ 12
- 6
uutlTiming.pas Voir le fichier

@@ -25,6 +25,8 @@ uses
function GetTickCount64: QWord; function GetTickCount64: QWord;
function GetMicroTime: QWord; function GetMicroTime: QWord;


function utlRateLimited(const Reference: QWord; const Interval: QWord): boolean;

implementation implementation


{$IF defined(WINDOWS)} {$IF defined(WINDOWS)}
@@ -45,11 +47,6 @@ begin
QueryPerformanceCounter(pc); QueryPerformanceCounter(pc);
Result:= (pc * 1000*1000) div PERF_FREQ; Result:= (pc * 1000*1000) div PERF_FREQ;
end; end;

initialization
PERF_FREQ := 0;
QueryPerformanceFrequency(PERF_FREQ);

{$ELSEIF defined(UNIX)} {$ELSEIF defined(UNIX)}
function GetTickCount64: QWord; function GetTickCount64: QWord;
var var
@@ -66,7 +63,6 @@ begin
fpgettimeofday(@tp, nil); fpgettimeofday(@tp, nil);
Result := (Int64(tp.tv_sec) * 1000*1000) + tp.tv_usec; Result := (Int64(tp.tv_sec) * 1000*1000) + tp.tv_usec;
end; end;

{$ELSE} {$ELSE}
function GetTickCount64: QWord; function GetTickCount64: QWord;
begin begin
@@ -80,5 +76,15 @@ end;


{$ENDIF} {$ENDIF}


function utlRateLimited(const Reference: QWord; const Interval: QWord): boolean;
begin
Result:= GetMicroTime - Reference > Interval;
end;

initialization
{$IF defined(WINDOWS)}
PERF_FREQ := 0;
QueryPerformanceFrequency(PERF_FREQ);
{$ENDIF}
end. end.



Chargement…
Annuler
Enregistrer