Hogyan lehet mérni az futási időt a freepascalban és borland pascalban, gettime nélkül?
A borlandban láttam egy olyat, hogy
var ido:longint absolute $valami:valami;
akt:long;
Begin
akt:=ido;
ut1;
ut2;
......
writeln((akt-ido)/16:2:2);
End.
Egy példa, ami részben Benkő Tiborné Free Pascal című könyvéből való:
Program Meres;
uses Classes, SysUtils, DateUtils;
type TSS=(start,stop);
procedure idomero(ss:TSS; ido:TDateTime);
const StartTime : TDateTime=0;
var dt : integer;
begin
case ss of
start: begin
starttime:=ido;
write('Start...');
end;
stop: begin
dt:=MilliSecondsBetween(Ido,StartTime);
write('Stop ,',dt/1000:7:4,' mp -');
end;
end;
end;
begin
Idomero(start,time);
{ide jöhet a kódod aminek a futási idejét mérni akarod}
idomero(stop,time);
end.
A tanárom, mondta, hogy van egy win32 unit-ban egy függvény, ami egy memóriacím értékét téríti vissza, ami másodpercenként 1000-rel változik.
Erre is kíváncsi vagyok.
Valami rövidebb nincs?
Ez amit te adtál, jó, csak túl hosszú.
var ido_s:TDateTime;
procedure ido_start;inline;
begin
ido_s:=now;
end;
function ido_stop:double;inline;
var s:TDateTime;
ii,ist:comp;
begin
s:=now;
ii:=TimeStamptoMsecs(DateTimetotimestamp(ido_s));
ist:=TimeStamptoMsecs(DateTimetotimestamp(s));
ido_s:=ist-ii;
end;
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!