comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: accuracy
Date: Sun, 11 Mar 2007 19:48:47 +0100
Date: 2007-03-11T19:48:47+01:00	[thread overview]
Message-ID: <13jii9xnaiqlo$.19jaujlvtume6$.dlg@40tude.net> (raw)
In-Reply-To: 45F43EB2.2000008@obry.net

On Sun, 11 Mar 2007 18:38:58 +0100, Pascal Obry wrote:

>> I.e. it does this only once. The potential problems with this is that:
> 
> No it is not does once but each time a clock is requested for adjustment
> if needed.

You mean each time Clock is called? That would be a very expensive
implementation. A periodic task would be less demanding. But ideally it
should be something sitting close to the PCI bus.

>> 1. The accuracy of GetSystemTimeAsFileTime is very low.
> 
> Yes but it is not used for final clock returned value.

How so? Ada.Calendar has Split and Time_Of. Any error in
GetSystemTimeAsFileTime will show itself there, if not compensated using
some digital filtering technique.

>> 2. All system calls have non-zero latencies.
>> 
>> 3. There is a chance that the thread will be preempted between querying the
>> counter and calling to a system time query, which would additionally
>> increase the experienced latency up to milliseconds.
> 
> During initialization of the runtime the performance counter and the
> system time are read until this is done during a minimal amount of time.
> This gives the base reference for the performance counter and the os time.

I am lost you here. My interpretation of what you wrote above is that the
factor and offset between the readings of performance counter and
GetSystemTimeAsFileTime is readjusted each time Clock is called.

Anyway there are so many issues when reading from any clock sources, which
could prevent you from getting good measurements at once, like bus load,
interrupts, preempting etc. Also when the source of GetSystemTimeAsFileTime
is ticks, it could have systematic digitization error (1-2ms), which cannot
be compensated quickly.

> If this is still unclear have a look at the corresponding implementation
> in the GNAT sources.

That is what I am trying to avoid... (:-))

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2007-03-11 18:48 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-29 11:57 Does Ada tasking profit from multi-core cpus? Gerd
2007-01-29 12:04 ` Georg Bauhaus
2007-01-30 13:55   ` Gerd
2007-02-09 10:18     ` karl
2007-02-09 11:03       ` Stefan Lucks
2007-02-09 11:35         ` Ludovic Brenta
2007-03-04 17:54 `   jpluto
2007-03-05 10:08   ` Ludovic Brenta
2007-03-05 13:12     ` Dmitry A. Kazakov
2007-03-06  5:33       ` tmoran
2007-03-06  8:44         ` Dmitry A. Kazakov
2007-03-07  7:52           ` tmoran
2007-03-07  9:31           ` tmoran
2007-03-06  9:40         ` Colin Paul Gloster
2007-03-06 12:47           ` Jeffrey Creem
2007-03-06 14:44           ` Georg Bauhaus
2007-03-06 16:53         ` Dr. Adrian Wrigley
2007-03-06 18:58           ` tmoran
2007-03-07 10:11             ` Colin Paul Gloster
2007-03-07 18:47               ` tmoran
2007-03-06 18:51         ` Jeffrey R. Carter
2007-03-16 14:29           ` Arguments for single-mutex-exclusion on protected types (Was: Does Ada tasking profit from multi-core cpus?) Jacob Sparre Andersen
2007-03-17  5:26             ` Jeffrey R. Carter
2007-03-17 17:22               ` Robert A Duff
2007-03-17 17:52                 ` Jeffrey R. Carter
2007-03-17 23:06                 ` Randy Brukardt
2007-03-18 17:57                   ` Robert A Duff
2007-03-19 21:49                     ` Randy Brukardt
2007-03-20  0:55                       ` Jeffrey R. Carter
2007-03-20  1:36                         ` Randy Brukardt
2007-03-20 16:32                           ` Jeffrey R. Carter
2007-03-20 17:51                             ` Randy Brukardt
2007-03-21  0:10                               ` Jeffrey R. Carter
2007-03-26 23:38                               ` Robert A Duff
2007-03-26 23:24                           ` Robert A Duff
2007-03-17 10:25             ` Dmitry A. Kazakov
2007-03-18 17:15               ` Arguments for single-mutex-exclusion on protected types Jacob Sparre Andersen
2007-03-18 18:50                 ` Dmitry A. Kazakov
2007-03-20 12:38                 ` Florian Weimer
2007-03-07  3:58       ` Does Ada tasking profit from multi-core cpus? Steve
2007-03-07  8:39         ` Dmitry A. Kazakov
2007-03-08  5:21           ` Randy Brukardt
2007-03-08 10:15             ` Dmitry A. Kazakov
2007-03-08 21:18               ` accuracy (was: Does Ada tasking profit from multi-core cpus?) Björn Persson
2007-03-09  8:33                 ` accuracy Dmitry A. Kazakov
2007-03-10  1:39                   ` accuracy Randy Brukardt
2007-03-10  9:11                     ` accuracy Dmitry A. Kazakov
2007-03-11  3:03                       ` accuracy Randy Brukardt
2007-03-11  5:21                         ` accuracy tmoran
2007-03-11  8:52                         ` accuracy Dmitry A. Kazakov
2007-03-11 13:57                           ` accuracy Pascal Obry
2007-03-11 14:16                             ` accuracy Dmitry A. Kazakov
2007-03-11 14:37                               ` accuracy Pascal Obry
2007-03-11 15:50                                 ` accuracy Dmitry A. Kazakov
2007-03-11 17:38                                   ` accuracy Pascal Obry
2007-03-11 18:48                                     ` Dmitry A. Kazakov [this message]
2007-03-12 20:20                           ` accuracy Randy Brukardt
2007-03-13  9:33                             ` accuracy Dmitry A. Kazakov
2007-03-10 14:53                     ` accuracy Stephen Leake
2007-03-10 18:36                       ` accuracy Cesar Rabak
2007-03-05 18:46   ` Does Ada tasking profit from multi-core cpus? Jeffrey R. Carter
replies disabled

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