comp.lang.ada
 help / color / mirror / Atom feed
From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: An Example for Ada.Execution_Time
Date: Fri, 31 Dec 2010 20:57:54 +0200
Date: 2010-12-31T20:57:54+02:00	[thread overview]
Message-ID: <8o6ndjFm6sU1@mid.individual.net> (raw)
In-Reply-To: <1jmysfv0ifrrj$.h84gfj1gv0ht.dlg@40tude.net>

Dmitry A. Kazakov wrote:
> On Fri, 31 Dec 2010 14:42:41 +0200, Niklas Holsti wrote:
> 
>> Dmitry A. Kazakov wrote:
>>> On Thu, 30 Dec 2010 18:51:30 -0500, BrianG wrote:
>>>
>>>> Since D.16 defines CPU_Time as if it were a numeric value, is it too 
>>>> much to ask why a conversion to some form of numeric value wasn't 
>>>> provided?
>>> But time is not a number and was not defined as if it were.
>> You keep saying that, Dmitri, but your only argument seems to be the 
>> absence of some operators like addition for CPU_Time. Since CPU_Time is 
>> private, we cannot tell if this absence means that the D.14 authors 
>> considered the type non-numeric, or just considered the operators 
>> unnecessary for the intended uses.
> 
> No, the argument is that time is a state of some recurrent process, like
> the position of an Earth's meridian relatively to the Sun. This state is
> not numeric, it could be numeric though. That depends on the nature of the
> process.

This is your view of what the English word "time" means. It is not based 
on any text in the RM, as far as I can see. (And I don't see what 
"recurrent process" has to do with it. Time could also be measured by 
radioactive decay, for example, which is not recurrent. Or by water 
clocks, also not recurrent as long as the water lasts. Using recurrent 
processes like oscillators, rotators, or orbiters is just a good way to 
measure time accurately by counting periods.)

I have also tried to understand D.14 by interpreting its English words, 
like "time", but Randy says that this is "reading stuff that is not 
there". I don't entirely agree with him. For CPU_Time I think that D.14 
shows sufficiently clearly that it has a numeric meaning.

>> - by RM D.14 (13/2), "the execution time value is set to zero at the 
>> creation of the task".
> 
> I agree that here RM is sloppy. They should rather talk about an "epoch"
> rather than "zero," if they introduced CPU_Time as a time.

So, here the RM disagrees with your view that CPU_Time is not numeric, 
and your conclusion is that the RM is wrong? I am not convinced.

> I suppose Time_Of (0) is the time when the task started because of D.14
> (13/2).

Good point, I did not think of Time_Of (0) as a replacement for the 
(missing) CPU_Time_Zero constant.

So, even if we don't agree on the numeric or non-numeric nature of 
CPU_Time, we do agree on how to use Ada.Execution_Time.Clock to compute 
the execution time. Good!

-- 
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
       .      @       .



  reply	other threads:[~2010-12-31 18:57 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-27 18:26 An Example for Ada.Execution_Time anon
2010-12-28  2:31 ` BrianG
2010-12-28 13:43   ` anon
2010-12-29  3:10   ` Randy Brukardt
2010-12-30 23:51     ` BrianG
2010-12-31  9:11       ` Dmitry A. Kazakov
2010-12-31 12:42         ` Niklas Holsti
2010-12-31 14:15           ` Dmitry A. Kazakov
2010-12-31 18:57             ` Niklas Holsti [this message]
2011-01-01 13:39               ` Dmitry A. Kazakov
2011-01-01 20:25                 ` Niklas Holsti
2011-01-03  8:50                   ` Dmitry A. Kazakov
2010-12-31 13:05         ` Simon Wright
2010-12-31 14:14           ` Dmitry A. Kazakov
2010-12-31 14:24           ` Robert A Duff
2010-12-31 22:40           ` Simon Wright
2011-01-01  0:07       ` Randy Brukardt
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox