comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: gnat: Execution_Time is not supported in this configuration
Date: Fri, 4 Dec 2009 20:59:25 -0600
Date: 2009-12-04T20:59:25-06:00	[thread overview]
Message-ID: <hfciae$nln$1@munin.nbi.dk> (raw)
In-Reply-To: 1wjhklygzok25.t79koxbbtlcj$.dlg@40tude.net

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
news:1wjhklygzok25.t79koxbbtlcj$.dlg@40tude.net...
...
> This package heavily depends on the OS services at least when the tasks 
> are
> mapped onto the OS scheduling items (like threads).
>
> As far as I know it is impossible to implement it reasonably under 
> Windows,
> because the corresponding service (used by the Task Manager too) counts
> time quants instead of the time. This causes a massive systematic error if
> tasks are switched before they consume their quants. I.e. *always* when 
> you
> do I/O or communicate to other tasks. The bottom line, under Windows
> Ada.Execution_Time can be used only for tasks that do lengthy computations
> interrupted by only by the scheduler, so that all counted quants were
> consumed and no time were spent in uncounted quants.

Obviously this depends on the purpose. For many profiling tasks, the Windows 
implementation is just fine. The quants seem to be short enough that most 
tasks run long enough to be counted. (And I/O has probably already be 
reduced to the minimum before even applying a profiler, if not, you're 
probably profiling the I/O first, not the CPU.) But I would have to agree 
that it isn't all that real-time.

In any case, thanks for the clear explanation of the limitations of the 
Windows services. I'm sure that I'll run into them sooner or later and I'll 
hopefully remember your explanation.

                                   Randy.





      parent reply	other threads:[~2009-12-05  2:59 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-04 11:09 gnat: Execution_Time is not supported in this configuration singo
2009-12-04 11:26 ` Dmitry A. Kazakov
2009-12-04 12:10 ` Georg Bauhaus
2009-12-07  8:08   ` singo
2009-12-07 17:13     ` John B. Matthews
2009-12-04 18:28 ` John B. Matthews
2009-12-04 19:01   ` Dmitry A. Kazakov
2009-12-04 21:50     ` John B. Matthews
2009-12-05  2:59     ` Randy Brukardt [this message]
replies disabled

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