mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-11 19:49:31 +02:00
+ define to be able to use epiktimer for time measurements
* write milliseconds correctly when not using epiktimer git-svn-id: trunk@30471 -
This commit is contained in:
parent
6e11efa664
commit
29c28fd710
@ -1,9 +1,10 @@
|
||||
{ $define USEEPIK}
|
||||
unit timer;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
SysUtils;
|
||||
SysUtils{$ifdef USEEPIK},epiktimer{$endif USEEPIK};
|
||||
|
||||
var
|
||||
verbosetimer : boolean = true;
|
||||
@ -15,7 +16,11 @@ unit timer;
|
||||
implementation
|
||||
|
||||
var
|
||||
{$ifdef USEEPIK}
|
||||
et : TEpiktimer;
|
||||
{$else EPIKTIMER}
|
||||
stime,etime : cardinal;
|
||||
{$endif USEEPIK}
|
||||
|
||||
function gt : cardinal;
|
||||
|
||||
@ -34,24 +39,49 @@ unit timer;
|
||||
procedure start;
|
||||
|
||||
begin
|
||||
stime:=gt;
|
||||
{$ifdef USEEPIK}
|
||||
et:=TEpikTimer.Create;
|
||||
et.Start;
|
||||
{$else USEEPIK}
|
||||
stime:=gt;
|
||||
{$endif USEEPIK}
|
||||
end;
|
||||
|
||||
procedure stop;
|
||||
|
||||
var
|
||||
{$ifdef USEEPIK}
|
||||
e : extended;
|
||||
{$else USEEPIK}
|
||||
s : cardinal;
|
||||
{$endif USEEPIK}
|
||||
|
||||
begin
|
||||
{$ifdef USEEPIK}
|
||||
e:=et.elapsed;
|
||||
et.Free;
|
||||
{$else USEEPIK}
|
||||
etime:=gt;
|
||||
s:=etime-stime;
|
||||
if verbosetimer then
|
||||
write(stderr,s div 1000,'.',s mod 1000,' Seconds');
|
||||
end;
|
||||
{$endif USEEPIK}
|
||||
if verbosetimer then
|
||||
{$ifdef USEEPIK}
|
||||
write(stderr,e:0:6,' Seconds');
|
||||
{$else USEEPIK}
|
||||
write(stderr,s div 1000,'.',format('%03d',[s mod 1000]),' Seconds');
|
||||
{$endif USEEPIK}
|
||||
end;
|
||||
|
||||
{$ifdef USEEPIK}
|
||||
function MSec:cardinal;
|
||||
begin
|
||||
Msec:=round(et.elapsed*1000);
|
||||
end;
|
||||
{$else USEEPIK}
|
||||
function MSec:cardinal;
|
||||
begin
|
||||
Msec:=etime-stime;
|
||||
end;
|
||||
{$endif USEEPIK}
|
||||
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user