|
|
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: 3940 (0xf64)
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 Instrument;
use Instrument;
------------------
-- LOCAL REFERENCE 10
------------------
-- THIS TEST EVALUATES THE CODE EFFICIENCY OF REFERENCING A COMPONENT OF
-- A LOCAL ARRAY VARIABLE, I.E., A REFERENCE TO AN ARRAY THAT IS
-- DECLARED IMMEDIATELY WITHIN THE DECLARATIVE REGION IN WHICH THE
-- COMPONENT IS REFERENCED.
-- THE TEST AND NOISE VERSIONS FOR THIS EVALUATION ARE STRUCTURALLY
-- IDENTICAL TO LOCAL_REFERENCE_01 EXCEPT THAT TEN LOCAL REFERENCES ARE
-- INCLUDED. THIS MULTIPLICITY REDUCES THE LIKELIHOOD THAT THE CODE
-- EFFICIENCY METRICS ARE COMPROMISED BY DEDICATING THE BASE ADDRESS OF
-- ALL LOCAL ARRAY VARIABLES TO REGISTERS, A POSSIBLE OPTIMIZATION IN
-- THE SINGLE REFERENCE EVALUATION. THE METRICS FOR THE EVALUATION ARE
-- COMPUTED BY AVERAGING THE DERIVED RESULTS.
procedure Lavrb2 is
Arr_Size : constant := 1000;
package Dr_Cs is new Arr_Procs (Integer, Arr_Size);
use Dr_Cs;
Local_01 : T (Init'Range);
Local_02 : T (Init'Range);
Local_03 : T (Init'Range);
Local_04 : T (Init'Range);
Local_05 : T (Init'Range);
Local_06 : T (Init'Range);
Local_07 : T (Init'Range);
Local_08 : T (Init'Range);
Local_09 : T (Init'Range);
Local_10 : T (Init'Range);
I : Index := Init'First;
begin
Start ("LAVRB2", "10 Local Var. Ref. (test)");
for I in 1 .. Arr_Size loop
Let (Global, Ident (Init));
Let (Local_01, Ident (Init));
Let (Local_02, Ident (Init));
Let (Local_03, Ident (Init));
Let (Local_04, Ident (Init));
Let (Local_05, Ident (Init));
Let (Local_06, Ident (Init));
Let (Local_07, Ident (Init));
Let (Local_08, Ident (Init));
Let (Local_09, Ident (Init));
Let (Local_10, Ident (Init));
if Global (I) = Init (I) then
Global (I) := Local_01 (I); -- COMMENTED OUT IN NOISE VERSION
Let (Local_01, Ident (Init));
end if;
if Global (I) = Init (I) then
Global (I) := Local_02 (I); -- COMMENTED OUT IN NOISE VERSION
Let (Local_02, Ident (Init));
end if;
if Global (I) = Init (I) then
Global (I) := Local_03 (I); -- COMMENTED OUT IN NOISE VERSION
Let (Local_03, Ident (Init));
end if;
if Global (I) = Init (I) then
Global (I) := Local_04 (I); -- COMMENTED OUT IN NOISE VERSION
Let (Local_04, Ident (Init));
end if;
if Global (I) = Init (I) then
Global (I) := Local_05 (I); -- COMMENTED OUT IN NOISE VERSION
Let (Local_05, Ident (Init));
end if;
if Global (I) = Init (I) then
Global (I) := Local_06 (I); -- COMMENTED OUT IN NOISE VERSION
Let (Local_06, Ident (Init));
end if;
if Global (I) = Init (I) then
Global (I) := Local_07 (I); -- COMMENTED OUT IN NOISE VERSION
Let (Local_07, Ident (Init));
end if;
if Global (I) = Init (I) then
Global (I) := Local_08 (I); -- COMMENTED OUT IN NOISE VERSION
Let (Local_08, Ident (Init));
end if;
if Global (I) = Init (I) then
Global (I) := Local_09 (I); -- COMMENTED OUT IN NOISE VERSION
Let (Local_09, Ident (Init));
end if;
if Global (I) = Init (I) then
Global (I) := Local_10 (I); -- COMMENTED OUT IN NOISE VERSION
Let (Local_10, Ident (Init));
end if;
Let (Global, Ident (Local_01));
Let (Global, Ident (Local_02));
Let (Global, Ident (Local_03));
Let (Global, Ident (Local_04));
Let (Global, Ident (Local_05));
Let (Global, Ident (Local_06));
Let (Global, Ident (Local_07));
Let (Global, Ident (Local_08));
Let (Global, Ident (Local_09));
Let (Global, Ident (Local_10));
end loop;
Stop;
end Lavrb2;