|
@@ -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.
|