summaryrefslogtreecommitdiff
path: root/delay_until/delay_until.adb
diff options
context:
space:
mode:
Diffstat (limited to 'delay_until/delay_until.adb')
-rw-r--r--delay_until/delay_until.adb40
1 files changed, 31 insertions, 9 deletions
diff --git a/delay_until/delay_until.adb b/delay_until/delay_until.adb
index 8253c52..193cd4b 100644
--- a/delay_until/delay_until.adb
+++ b/delay_until/delay_until.adb
@@ -1,3 +1,7 @@
+--
+-- $Id$
+--
+
with Ada.Real_Time;
with Ada.Text_Io;
@@ -5,10 +9,11 @@ use type Ada.Real_Time.Time;
use type Ada.Real_Time.Time_Span;
-procedure Delay_Until_Test is
+procedure Delay_Until is
Next_Wakeup : Ada.Real_Time.Time;
- Period : constant Ada.Real_Time.Time_Span := Ada.Real_Time.Nanoseconds (16666667);
--- Period : constant Ada.Real_Time.Time_Span := Ada.Real_Time.Nanoseconds (20000);
+ Period : constant Ada.Real_Time.Time_Span :=
+ Ada.Real_Time.Nanoseconds (16666667);
+ -- Ada.Real_Time.Nanoseconds (20000);
Iterations : constant := 1000;
Actual_Span : array (1..Iterations) of Ada.Real_Time.Time_Span;
@@ -17,8 +22,12 @@ procedure Delay_Until_Test is
Min_Span : Ada.Real_Time.Time_Span := Ada.Real_Time.Time_Span_Last;
begin
- Ada.Text_Io.Put_Line (Integer'Image (Iterations) & " iterations with " &
- Duration'Image (Ada.Real_Time.To_Duration(Period)) & "s period");
+ Ada.Text_Io.Put_Line ("*** Delay Until Variation Test ***");
+ Ada.Text_Io.Put_Line (
+ Integer'Image (Iterations) & " iterations with " &
+ Duration'Image (Ada.Real_Time.To_Duration(Period)) &
+ "s period"
+ );
Next_Wakeup := Ada.Real_Time.Clock + Period;
for Count in 1..Iterations loop
delay until Next_Wakeup;
@@ -35,7 +44,20 @@ begin
Next_Wakeup := Next_Wakeup + Period;
end loop;
- Ada.Text_Io.Put_Line ("Average delay is" & Duration'Image (Ada.Real_Time.To_Duration (Average_Span)) & "s");
- Ada.Text_Io.Put_Line ("Maximum delay is" & Duration'Image (Ada.Real_Time.To_Duration (Max_Span)) & "s");
- Ada.Text_Io.Put_Line ("Minimum delay is" & Duration'Image (Ada.Real_Time.To_Duration (Min_Span)) & "s");
-end Delay_Until_Test;
+ Ada.Text_Io.Put_Line (
+ "Average delay is" &
+ Duration'Image (Ada.Real_Time.To_Duration (Average_Span)) &
+ "s"
+ );
+ Ada.Text_Io.Put_Line (
+ "Maximum delay is" &
+ Duration'Image (Ada.Real_Time.To_Duration (Max_Span)) &
+ "s"
+ );
+ Ada.Text_Io.Put_Line (
+ "Minimum delay is" &
+ Duration'Image (Ada.Real_Time.To_Duration (Min_Span)) &
+ "s"
+ );
+ Ada.Text_Io.Put_Line ("*** END OF Delay Until Variation Test ***");
+end Delay_Until;