From 29c28fd710ed171e54badf6ca45036c16bbafc3d Mon Sep 17 00:00:00 2001 From: florian Date: Mon, 6 Apr 2015 20:13:19 +0000 Subject: [PATCH] + define to be able to use epiktimer for time measurements * write milliseconds correctly when not using epiktimer git-svn-id: trunk@30471 - --- tests/bench/timer.pas | 40 +++++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/tests/bench/timer.pas b/tests/bench/timer.pas index c92a91f953..ada0fbbaa5 100644 --- a/tests/bench/timer.pas +++ b/tests/bench/timer.pas @@ -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.