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: 2376 (0x948) 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 Towers_Of_Hanoi_Frames; with Towers_Of_Hanoi_Rule_Base; with Towers_Of_Hanoi_Rules_For_Benchmark; with Text_Io; with Output_Stream; use Calendar; use Fact; use Towers_Of_Hanoi_Frames; use Output_Stream; procedure Towers_Of_Hanoi_Benchmark is Tower_Size : constant := 12; Initial_Priority : constant := 1; Inference_Count : Natural; Elapsed_Time : Duration; Firings_Per_Second : Integer; Started_At, Stopped_At : Calendar.Time; function Firable_On_Facts return Fact.Collection renames Towers_Of_Hanoi_Rule_Base.Rule_Base.Firable_On_Facts; function Firable_On_Rule return Towers_Of_Hanoi_Rule_Base.Rule_Base.Rule_Id renames Towers_Of_Hanoi_Rule_Base.Rule_Base.Firable_On_Rule; package Toh_Rb renames Towers_Of_Hanoi_Rule_Base; package Toh_Rules renames Towers_Of_Hanoi_Rules_For_Benchmark; package Duration_Io is new Text_Io.Fixed_Io (Duration); begin for I in 1 .. Toh_Rb.Rule_Base.Count loop Toh_Rb.Rule_Base.Put (I, Standard_Output); end loop; for Size in 5 .. 13 loop Inference_Count := 0; Started_At := Calendar.Clock; Movements.Add ((From_Tower => 1, To_Tower => 3, Count => Size, Priority => Initial_Priority)); loop declare Result : constant Fact.Collection := Firable_On_Facts; begin exit when Result = Empty_Collection; Toh_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)); Text_Io.Put (Integer'Image (Size) & " towers : 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 loop; end Towers_Of_Hanoi_Benchmark;