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 - downloadIndex: ┃ B T ┃
Length: 1855 (0x73f) Types: TextFile Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧ └─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16 └─ ⟦6f12a12be⟧ »DATA« └─⟦this⟧ └─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04 └─ ⟦d65440be7⟧ »DATA« └─⟦this⟧
with Calendar; with Fact; with Many_Objects_Frames; with Many_Objects_Rule_Base; with Many_Objects_Rules; with Output_Stream; with Text_Io; use Calendar; use Fact; use Many_Objects_Frames; use Output_Stream; procedure Many_Objects_Benchmark is Inference_Count : Natural; Elapsed_Time : Duration; Firings_Per_Second : Integer; Started_At, Stopped_At : Calendar.Time; function Firable_On_Facts return Fact.Collection renames Many_Objects_Rule_Base.Rule_Base.Firable_On_Facts; function Firable_On_Rule return Many_Objects_Rule_Base.Rule_Base.Rule_Id renames Many_Objects_Rule_Base.Rule_Base.Firable_On_Rule; package Duration_Io is new Text_Io.Fixed_Io (Duration); begin for I in 1 .. Many_Objects_Rule_Base.Rule_Base.Count loop Many_Objects_Rule_Base.Rule_Base.Put (I, Standard_Output); end loop; Inference_Count := 0; Started_At := Calendar.Clock; States.Add ((Value => 0)); Numbers.Add ((Value => 0)); loop declare Result : constant Fact.Collection := Firable_On_Facts; begin exit when Result = Empty_Collection; Many_Objects_Rules.Do_Action (For_Rule => Firable_On_Rule, On_Facts => Result); Inference_Count := Inference_Count + 1; end; end loop; Stopped_At := Calendar.Clock; Elapsed_Time := Stopped_At - Started_At; Firings_Per_Second := Integer (Float (Inference_Count) / Float (Elapsed_Time)); Duration_Io.Put (Elapsed_Time, Fore => 3, Aft => 2); Text_Io.Put (", inferences =>" & Integer'Image (Inference_Count)); Text_Io.Put (", firings per second =>" & Integer'Image (Firings_Per_Second)); Text_Io.New_Line; end Many_Objects_Benchmark;