|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5120 (0x1400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Many_Objects_Benchmark, seg_02bab5
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Many_Objects_Frames;
with Many_Objects_Kbs;
with Many_Objects_Rules;
with Output_Stream;
with Text_Io;
use Many_Objects_Frames;
use Many_Objects_Kbs;
use Output_Stream;
procedure Many_Objects_Benchmark is
package Duration_Io is new Text_Io.Fixed_Io (Duration);
procedure Infere_On_Many_Objects is
new Kbs.Rule_Base.Infere (Do_Action => Many_Objects_Rules.Do_Action);
procedure Test_With (Iterations, Objects : Positive) is
begin
States.Add ((Value => 0,
Max_Iterations => Iterations,
Max_Objects => Objects));
Numbers.Add ((Value => 0));
Infere_On_Many_Objects;
Text_Io.Put (Integer'Image (Objects) & " Obj,");
Text_Io.Put (Integer'Image (Iterations) & " Iter: Time =>");
Duration_Io.Put (Kbs.Rule_Base.Elapsed_Time, Fore => 3, Aft => 2);
Text_Io.Put (", inferences =>" & Integer'Image
(Kbs.Rule_Base.Inference_Count));
Text_Io.Put (", firings per second =>" &
Integer'Image (Kbs.Rule_Base.Firings_Per_Second));
Text_Io.New_Line;
Kbs.Fact_Base.Make_Empty;
end Test_With;
begin
for I in 1 .. Kbs.Rule_Base.Count loop
Kbs.Rule_Base.Put (I, Standard_Output);
end loop;
Test_With (Iterations => 10, Objects => 10);
Test_With (Iterations => 100, Objects => 10);
Test_With (Iterations => 100, Objects => 30);
Test_With (Iterations => 100, Objects => 100);
end Many_Objects_Benchmark;
nblk1=4
nid=4
hdr6=4
[0x00] rec0=1f rec1=00 rec2=01 rec3=02c
[0x01] rec0=12 rec1=00 rec2=03 rec3=000
[0x02] rec0=10 rec1=00 rec2=04 rec3=000
[0x03] rec0=0c rec1=00 rec2=04 rec3=000
tail 0x21524040e83f07b23d4a0 0x42a00088462063c03
Free Block Chain:
0x4: 0000 00 02 02 28 80 07 6f 75 6e 74 29 29 3b 07 00 30 ┆ ( ount)); 0┆
0x2: 0000 00 00 00 08 80 05 41 64 64 20 28 05 20 20 20 20 ┆ Add ( ┆