From: reason67@my-deja.com
Subject: Re: Apex vs GNAT on solaris
Date: 1999/12/07
Date: 1999-12-07T00:00:00+00:00 [thread overview]
Message-ID: <82hjta$7tt$1@nnrp1.deja.com> (raw)
In-Reply-To: 82hiuj$74o$1@nnrp1.deja.com
> 1.3 15 iterations of 100 delays of 0.0 in 100 tasks.
-=-=-=-=-=-=-=-=-
with Ada.Calendar;
with Ada.Text_Io;
with Common_Utilities;
procedure Aaaa_1_3_Timing_Test is
package Long_Float_Io is new Ada.Text_Io.Float_Io (Long_Float);
Compiler : constant String := "Apex";
Instances : constant := 15;
Iterations : constant := 100;
Task_Number : constant := 100;
type Time_Stamp_Type is array (0 .. Iterations) of
Ada.Calendar.Time;
task type Time_Context_Switches is
entry Start;
end Time_Context_Switches;
for Time_Context_Switches'Storage_Size use 100000;
type Timer_Array_Type is array (1 .. Task_Number) of
Time_Context_Switches;
Timer : Timer_Array_Type;
task Controller is
entry Finish (Biggest : in Long_Float; Average : in Long_Float);
end Controller;
task body Time_Context_Switches is
Biggest : Long_Float := -1.0;
Average : Long_Float := 0.0;
Length : Long_Float;
Time_Stamp : Time_Stamp_Type;
begin
Forever:
loop
Biggest := -1.0;
Average := 0.0;
select
accept Start;
or
terminate;
end select;
Time_Stamp (0) := Ada.Calendar.Clock;
for Index in 1 .. Iterations loop
delay 0.0;
Time_Stamp (Index) := Ada.Calendar.Clock;
end loop;
for Index in 1 .. Iterations loop
Length := Long_Float
(Ada.Calendar."-" (Time_Stamp (Index),
Time_Stamp (Index -
1)));
if Biggest < Length then
Biggest := Length;
end if;
Average := Average + Length;
end loop;
Average := Average / Long_Float (Iterations);
Controller.Finish (Biggest => Biggest, Average =>
Average);
end loop Forever;
end Time_Context_Switches;
task body Controller is
Local_Biggest : Long_Float := -1.0;
Local_Average : Long_Float := 0.0;
Instance_Length : Integer;
begin
Ada.Text_Io.Put_Line ("::: [Aaaa_1_3_Timing_Test]");
Ada.Text_Io.Put_Line
(Compiler & " tasking timing test running " &
Common_Utilities.Strip_Spaces (Integer'Image (Instances)) &
" instances of " &
Common_Utilities.Strip_Spaces (Integer'Image (Iterations)) &
" delays of 0, in " &
Common_Utilities.Strip_Spaces (Integer'Image (Task_Number))
&
" tasks");
Instance_Length := Common_Utilities.Strip_Spaces
(Integer'Image (Instances))'Length;
for Counter in 1 .. Instances loop
for Index in 1 .. Task_Number loop
Timer (Index).Start;
end loop;
Local_Biggest := -1.0;
Local_Average := 0.0;
for Index in 1 .. Task_Number loop
accept Finish (Biggest : in Long_Float;
Average : in Long_Float) do
if Biggest > Local_Biggest then
Local_Biggest := Biggest;
end if;
Local_Average := Average + Local_Average;
end Finish;
end loop;
Local_Average := Local_Average / Long_Float (Task_Number);
Ada.Text_Io.Put ("Instance " & Common_Utilities.String_Of
(Number => Counter,
Length =>
Instance_Length,
Show_Leading_Zeros =>
False) &
": Maximum time => ");
Long_Float_Io.Put
(Item => Local_Biggest, Fore => 1, Aft => 4, Exp => 0);
Ada.Text_Io.Put (Ascii.Ht & Ascii.Ht & "Average time => ");
Long_Float_Io.Put
(Item => Local_Average, Fore => 1, Aft => 4, Exp => 0);
Ada.Text_Io.New_Line;
end loop;
Ada.Text_Io.Put_Line ("::: [Aaaa_1_3_Timing_Test has
finished]");
end Controller;
begin
null;
end Aaaa_1_3_Timing_Test;
-=-=-=-=-=-=-=-=-=
Apex tasking timing test running 15 instances of 100 delays of 0, in 100
tasks
Instance 1: Maximum time => 0.1668 Average time => 0.0000
Instance 2: Maximum time => 0.0076 Average time => 0.0000
Instance 3: Maximum time => 0.0023 Average time => 0.0000
Instance 4: Maximum time => 0.0103 Average time => 0.0000
Instance 5: Maximum time => 0.0026 Average time => 0.0000
Instance 6: Maximum time => 0.0027 Average time => 0.0000
Instance 7: Maximum time => 0.0022 Average time => 0.0000
Instance 8: Maximum time => 0.0139 Average time => 0.0000
Instance 9: Maximum time => 0.0006 Average time => 0.0000
Instance 10: Maximum time => 0.0103 Average time => 0.0000
Instance 11: Maximum time => 0.0089 Average time => 0.0000
Instance 12: Maximum time => 0.0026 Average time => 0.0000
Instance 13: Maximum time => 0.0110 Average time => 0.0000
Instance 14: Maximum time => 0.0050 Average time => 0.0000
Instance 15: Maximum time => 0.0117 Average time => 0.0000
GNAT tasking timing test running 15 instances of 100 delays of 0, in 100
tasks
Instance 1: Maximum time => 0.0152 Average time => 0.0011
Instance 2: Maximum time => 0.0130 Average time => 0.0012
Instance 3: Maximum time => 0.0143 Average time => 0.0013
Instance 4: Maximum time => 0.0142 Average time => 0.0013
Instance 5: Maximum time => 0.0139 Average time => 0.0013
Instance 6: Maximum time => 0.0681 Average time => 0.0012
Instance 7: Maximum time => 0.1722 Average time => 0.0001
Instance 8: Maximum time => 0.0036 Average time => 0.0001
Instance 9: Maximum time => 0.1307 Average time => 0.0001
Instance 10: Maximum time => 0.1089 Average time => 0.0001
Instance 11: Maximum time => 0.0988 Average time => 0.0001
Instance 12: Maximum time => 0.0907 Average time => 0.0001
Instance 13: Maximum time => 0.0141 Average time => 0.0001
Instance 14: Maximum time => 0.0333 Average time => 0.0001
Instance 15: Maximum time => 0.0318 Average time => 0.0001
Sent via Deja.com http://www.deja.com/
Before you buy.
next prev parent reply other threads:[~1999-12-07 0:00 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-12-07 0:00 Apex vs GNAT on solaris reason67
1999-12-07 0:00 ` reason67
1999-12-07 0:00 ` Robert Dewar
1999-12-07 0:00 ` reason67
1999-12-08 0:00 ` Robert Dewar
1999-12-08 0:00 ` reason67
1999-12-08 0:00 ` Larry Kilgallen
1999-12-08 0:00 ` Robert Dewar
1999-12-08 0:00 ` Robert A Duff
1999-12-07 0:00 ` Roger Racine
1999-12-07 0:00 ` David Starner
1999-12-08 0:00 ` Robert Dewar
1999-12-07 0:00 ` Jean-Pierre Rosen
1999-12-07 0:00 ` Larry Kilgallen
1999-12-07 0:00 ` Samuel T. Harris
1999-12-08 0:00 ` Ted Dennison
1999-12-08 0:00 ` Robert Dewar
1999-12-08 0:00 ` Robert A Duff
1999-12-08 0:00 ` Roger Racine
1999-12-08 0:00 ` Larry Kilgallen
1999-12-08 0:00 ` Roger Racine
1999-12-08 0:00 ` tmoran
1999-12-08 0:00 ` Larry Kilgallen
1999-12-09 0:00 ` Robert Dewar
1999-12-09 0:00 ` Roger Racine
1999-12-09 0:00 ` Larry Kilgallen
1999-12-10 0:00 ` Robert Dewar
1999-12-09 0:00 ` Mike Silva
1999-12-10 0:00 ` Robert Dewar
1999-12-16 0:00 ` Stefan Skoglund
1999-12-07 0:00 ` reason67
1999-12-07 0:00 ` reason67
1999-12-07 0:00 ` Robert Dewar
1999-12-07 0:00 ` reason67
1999-12-08 0:00 ` Robert Dewar
1999-12-08 0:00 ` reason67
1999-12-07 0:00 ` Vladimir Olensky
1999-12-07 0:00 ` Vladimir Olensky
1999-12-09 0:00 ` Geoff Bull
1999-12-09 0:00 ` Vladimir Olensky
1999-12-10 0:00 ` Vladimir Olensky
1999-12-09 0:00 ` Vladimir Olensky
1999-12-07 0:00 ` reason67 [this message]
1999-12-07 0:00 ` reason67
1999-12-07 0:00 ` Robert Dewar
1999-12-07 0:00 ` reason67
1999-12-07 0:00 ` reason67
1999-12-07 0:00 ` reason67
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox