DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: B T

⟦684f4e57a⟧ TextFile

    Length: 1145 (0x479)
    Types: TextFile
    Names: »B«

Derivation

└─⟦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⟧ 

TextFile

--
-- THIS PROGRAM MEASURES THE TIME REQUIRED FOR A SIMPLE RENDEZVOUS.
--
--
-- PLEASE SET TIMES LARGE ENOUGH TO PROVIDE AT LEAST TWO SIGNIFICANT
-- DIGITS IN AVERAGE RENDEZ TIMES, I.E., THE DIFFERENCE BETWEEN
-- THE ELAPSED TIME AND THE LOOP TIME MUST BE AT LEAST 100 TIMES
-- DURATION'SMALL.

with Instrument;
use Instrument;
with System;
use System;
procedure Renda1 is

    Times : constant Positive := 1000;



    task T is
        entry Call;
    end T;

    package Prevent is
        Count : Natural := 0;
        procedure Prevent_Optimization;
    end Prevent;
    use Prevent;

    task body T is
    begin
        loop
            select
                accept Call;
            or
                terminate;
            end select;
        end loop;
    end T;

    package body Prevent is
        procedure Prevent_Optimization is
        begin
            Count := Ident_Int (Count + 1);
        end Prevent_Optimization;
    end Prevent;

begin
    Start ("RENDA1", " TIME FOR SIMPLE RENDEZVOUS (CONTROL)");


    for N in 1 .. Times loop
        Prevent_Optimization;
        --    T.CALL;
    end loop;

    Stop;

end Renda1;