t_id
45
t_adddate
2003/10/03
t_result
0
t_knownrunerror
0
Record count: 50
Total = 50
OK=50 Percentage= 100.00
Result type | Cat. | Count | Percentage | First date | Last Date |
Successfully run | 50 | 100.0 | 2024/05/20 23:23:00 25 | 2024/05/21 00:58:00 35 | |
i386 | 19 | 38.0 | 2024/05/20 23:23:00 25 | 2024/05/21 00:37:00 24 | |
sparc | 22 | 44.0 | 2024/05/20 23:25:00 38 | 2024/05/20 23:55:00 41 | |
x86_64 | 6 | 12.0 | 2024/05/20 23:44:00 14 | 2024/05/21 00:49:00 15 | |
aarch64 | 2 | 4.0 | 2024/05/21 00:12:00 32 | 2024/05/21 00:58:00 35 | |
sparc64 | 1 | 2.0 | 2024/05/20 23:47:00 148 | 2024/05/20 23:47:00 148 | |
linux | 16 | 32.0 | 2024/05/20 23:26:00 24 | 2024/05/21 00:58:00 35 | |
win32 | 1 | 2.0 | 2024/05/20 23:41:00 23 | 2024/05/20 23:41:00 23 | |
solaris | 33 | 66.0 | 2024/05/20 23:23:00 25 | 2024/05/20 23:55:00 41 | |
3.3.1 | 30 | 60.0 | 2024/05/20 23:23:00 25 | 2024/05/21 00:58:00 35 | |
3.2.3 | 20 | 40.0 | 2024/05/20 23:25:00 38 | 2024/05/21 00:37:00 24 |
{ $Id: theap.pp,v 1.3 2000/11/30 22:38:21 peter Exp $ Program to test heap functions, timing doesn't work } PROGRAM TestHeap; Procedure InitMSTimer; begin end; {Get MS Timer} Function MSTimer:longint; begin MSTimer:=0; end; VAR Dummy,Start, LoopTime,LoopTime2: LONGINT; Delta, TotalTime: LONGINT; L,Choice,K,T: WORD; BlkPtr: ARRAY [1..10000] OF POINTER; BlkSize: ARRAY [1..10000] OF WORD; Permutation: ARRAY [1..10000] OF WORD; BEGIN INitMSTimer; WriteLn ('Test of TP heap functions'); WriteLn; TotalTime := 0; RandSeed := 997; WriteLn ('MaxAvail: ', MaxAvail, ' MemAvail: ', MemAvail); Start :=MSTimer; FOR L := 1 TO 10000 DO BEGIN END; LoopTime := MSTimer-Start; FOR L := 1 TO 10000 DO BEGIN BlkSize [L] := Random (512) + 1; END; Write ('Allocating 10000 blocks at the end of the heap: '); Start := MSTImer; FOR L := 1 TO 10000 DO BEGIN GetMem (BlkPtr [L], BlkSize [L]); END; Delta := MSTimer-Start-LoopTime; Inc (TotalTime, Delta); WriteLn (Delta:5, ' ms'); WriteLn ('MaxAvail: ', MaxAvail, ' MemAvail: ', MemAvail); Write ('Deallocating same 10000 blocks in reverse order:'); Start := MSTimer; FOR L := 1 TO 10000 DO BEGIN FreeMem (BlkPtr [L], BlkSize [L]); END; Delta := MSTimer-Start-LoopTime; Inc (TotalTime, Delta); WriteLn (Delta:5, ' ms'); WriteLn ('MaxAvail: ', MaxAvail, ' MemAvail: ', MemAvail); Write ('Allocating 10000 blocks at the end of the heap: '); Start := MSTimer; FOR L := 1 TO 10000 DO BEGIN GetMem (BlkPtr [L], BlkSize [L]); END; Delta := MSTimer-Start-LoopTime; Inc (TotalTime, Delta); WriteLn (Delta:5, ' ms'); WriteLn ('MaxAvail: ', MaxAvail, ' MemAvail: ', MemAvail); FOR L := 1 TO 10000 DO BEGIN Permutation [L] := L; END; Start := MSTimer; FOR L := 10000 DOWNTO 1 DO BEGIN Choice := Random (L)+1; K := Permutation [Choice]; Permutation [Choice] := Permutation [L]; END; LoopTime2 := MSTimer - Start; FOR L := 1 TO 10000 DO BEGIN Permutation [L] := L; END; Write ('Deallocating same 10000 blocks at random: '); Start := MSTimer; FOR L := 10000 DOWNTO 1 DO BEGIN Choice := Random (L)+1; K := Permutation [Choice]; Permutation [Choice] := Permutation [L]; FreeMem (BlkPtr [K], BlkSize [K]); END; Delta := MSTimer - Start - LoopTime2; Inc (TotalTime, Delta); WriteLn (Delta:5, ' ms'); WriteLn ('MaxAvail: ', MaxAvail, ' MemAvail: ', MemAvail); Write ('Allocating 10000 blocks at the end of the heap: '); Start := MSTimer; FOR L := 1 TO 10000 DO BEGIN GetMem (BlkPtr [L], BlkSize [L]); END; Delta := MSTimer-Start-LoopTime; Inc (TotalTime, Delta); WriteLn (Delta:5, ' ms'); WriteLn ('MaxAvail: ', MaxAvail, ' MemAvail: ', MemAvail); FOR L := 1 TO 10000 DO BEGIN Permutation [L] := L; END; Start := MSTimer; FOR L := 10000 DOWNTO 1 DO BEGIN Choice := Random (L)+1; K := Permutation [Choice]; T:= Permutation [L]; Permutation [L] := Permutation [Choice]; Permutation [Choice] := T; END; LoopTime2 := MSTimer - Start; FOR L := 1 TO 10000 DO BEGIN Permutation [L] := L; END; Write ('Deallocating 5000 blocks at random: '); Start := MSTimer; FOR L := 10000 DOWNTO 5001 DO BEGIN Choice := Random (L)+1; K := Permutation [Choice]; T:= Permutation [L]; Permutation [L] := Permutation [Choice]; Permutation [Choice] := T; SYSTEM.FreeMem (BlkPtr [K], BlkSize [K]); END; Delta := MSTimer-Start-LoopTime2; Inc (TotalTime, Delta); WriteLn (Delta:5, ' ms'); WriteLn ('MaxAvail: ', MaxAvail, ' MemAvail: ', MemAvail); Start := MSTimer; FOR L := 1 TO 10000 DO BEGIN Dummy := MaxAvail; END; Delta := MSTimer-Start; Inc (TotalTime, (Delta + 5) DIV 10); WriteLn ('10000 calls to MaxAvail: ', Delta:5, ' ms'); Start := MSTimer; FOR L := 1 TO 10000 DO BEGIN Dummy := MemAvail; END; Delta := MSTimer - Start; Inc (TotalTime, (Delta + 5) DIV 10); WriteLn ('10000 calls to MemAvail: ', Delta:5, ' ms'); WriteLn ('MaxAvail: ', MaxAvail, ' MemAvail: ', MemAvail); Write ('Reallocating deallocated 500 blocks at random: '); Start := MSTimer; FOR L := 5001 TO 10000 DO BEGIN GetMem (BlkPtr [Permutation [L]], BlkSize [Permutation [L]]); END; Delta := MSTimer-Start-LoopTime; Inc (TotalTime, Delta); WriteLn (Delta:5, ' ms'); WriteLn ('MaxAvail: ', MaxAvail, ' MemAvail: ', MemAvail); Write ('Deallocating all 10000 blocks at random: '); Start := MSTimer; FOR L := 10000 DOWNTO 1 DO BEGIN FreeMem (BlkPtr [L], BlkSize [L]); END; Delta := MSTimer-Start-LoopTime; Inc (TotalTime, Delta); WriteLn (Delta:5, ' ms'); WriteLn ('MaxAvail: ', MaxAvail, ' MemAvail: ', MemAvail); WriteLn; WriteLn ('Total time for benchmark: ', TotalTime, ' ms'); END.