|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 2938 (0xb7a)
Types: TextFile
Names: »B«
└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
└─⟦5cb1d1d7f⟧ »DATA«
└─⟦3b1ee7bd8⟧
└─⟦this⟧
with Proc_Package_11;
use Proc_Package_11;
with Remote_Global;
use Remote_Global; -- control optimization
with Iteration; -- obtain stable measurement
with Piwg_Io; -- output results
procedure P000011 is -- main procedure to execute
Cpu_Time : Duration; -- CPU time for one feature execution
Wall_Time : Duration; -- WALL time for one feature execution
Check_Times : constant := 100; -- inside loop count and check
Iteration_Count : Integer; -- set and varied by ITERATION package
Stable : Boolean; -- true when measurement stable
A1 : Integer := A_One;
A2 : Integer := A1 + A_One;
A3 : Integer := A2 + A_One;
A4 : Integer := A3 + A_One;
A5 : Integer := A4 + A_One;
A6 : Integer := A5 + A_One;
A7 : Integer := A6 + A_One;
A8 : Integer := A7 + A_One;
A9 : Integer := A8 + A_One;
A10 : Integer := A9 + A_One;
A11 : Integer := A10 + A_One;
A12 : Integer := A11 + A_One;
A13 : Integer := A12 + A_One;
A14 : Integer := A13 + A_One;
A15 : Integer := A14 + A_One;
A16 : Integer := A15 + A_One;
A17 : Integer := A16 + A_One;
A18 : Integer := A17 + A_One;
A19 : Integer := A18 + A_One;
A20 : Integer := A19 + A_One;
begin
Iteration.Start_Control; -- dummy to bring in pages on some machines
delay 0.5; -- wait for stable enviornment on some machines
Iteration.Initialize (Iteration_Count);
loop -- until stable measurement, ITERATION_COUNT increases each time
--
-- Control loop
--
Iteration.Start_Control;
for J in 1 .. Iteration_Count loop
Global := 0;
for Inside_Loop in 1 .. Check_Times loop
Global := Global + A1 + A2 + A3 + A4 + A5 + A6 + A7 -
A8 - A9 - A10 + A20 - A19 - A18 + A17 +
A16 - A15 - A14 + A13 - A12 + A11 + A_One;
Remote;
end loop;
end loop;
Iteration.Stop_Control (Global, Check_Times);
--
-- Test loop
--
Iteration.Start_Test;
for J in 1 .. Iteration_Count loop
Global := 0;
for Inside_Loop in 1 .. Check_Times loop
Proc_0 (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11,
A12, A13, A14, A15, A16, A17, A18, A19, A20);
-- this has control global increment and call inside
end loop;
end loop;
Iteration.Stop_Test (Global, Check_Times);
Iteration.Test_Stable (Iteration_Count, Stable);
exit when Stable;
end loop;
--
Iteration.Feature_Times (Cpu_Time, Wall_Time);
--
-- Printout
--
Piwg_Io.Piwg_Output ("P000011", "Procedure", Cpu_Time,
Wall_Time, Iteration_Count,
" Procedure call and return time measurement",
" Compare to P000005, P000010 ",
" 20 parameters, in INTEGER ");
end P000011;