mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 15:28:08 +02:00
47 lines
1.0 KiB
ObjectPascal
47 lines
1.0 KiB
ObjectPascal
program Project1;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
uses
|
|
Classes, SysUtils;
|
|
|
|
function RandomRange(const low : longint;
|
|
const high : longint) : longint;
|
|
begin
|
|
if (high < low) then
|
|
result := high + random(low - high + 1)
|
|
else
|
|
Result := low + random(high - low + 1);
|
|
end;
|
|
|
|
procedure GetStats(out used: ptruint);
|
|
var
|
|
fpcHeapStatus : TFPCHeapStatus;
|
|
begin
|
|
fpcHeapStatus := GetFPCHeapStatus();
|
|
used:=fpcHeapStatus.CurrHeapUsed;
|
|
writeln(' heap status: cu=' +
|
|
IntToStr(fpcHeapStatus.CurrHeapUsed) + ', cs=' +
|
|
IntToStr(fpcHeapStatus.CurrHeapSize) + ', cf=' +
|
|
IntToStr(fpcHeapStatus.CurrHeapFree) + ', mu=' +
|
|
IntToStr(fpcHeapStatus.MaxHeapUsed) + ', ms=' +
|
|
IntToStr(fpcHeapStatus.MaxHeapSize));
|
|
end;
|
|
|
|
var
|
|
i : integer;
|
|
a : array of byte;
|
|
u1, u2: ptruint;
|
|
begin
|
|
randseed:=1634752820;
|
|
writeln('randseed: ',randseed);
|
|
GetStats(u1);
|
|
for i := 0 to 50 do begin
|
|
SetLength(a, RandomRange(1024,1024*1024*15));
|
|
end;
|
|
SetLength(a, 0);
|
|
GetStats(u2);
|
|
if u1<>u2 then
|
|
halt(1);
|
|
end.
|