Replacing delay until Next; in time_test2.adb with while Ada.Real_Time.Clock < Next loop null;end loop; cut the time on my machine from 75 to 65 mics. (The desired Interval being 57 mics.) I tried the same thing using Ada.Calendar instead of Ada.Real_Time. In ten runs (a total of 100 timings) 89 of the runs gave times averaging 65 mics, while the first timing in each execution of the program, and the second timing in one execution, gave times ranging between 269 and 428 mics.