From: Steve Graegert <graegerts@gmail.com>
To: "Ronaldo.Afonso@cyclades.com" <Ronaldo.Afonso@cyclades.com>
Cc: linux-c-programming@vger.kernel.org,
linux-c-programming-owner@vger.kernel.org
Subject: Re: Nanoseconds precision
Date: Thu, 25 Aug 2005 15:45:44 +0200 [thread overview]
Message-ID: <6a00c8d505082506456afb0af8@mail.gmail.com> (raw)
In-Reply-To: <6a00c8d505082506372bc67a42@mail.gmail.com>
On 8/25/05, Steve Graegert <graegerts@gmail.com> wrote:
> On 8/25/05, Ronaldo.Afonso@cyclades.com <Ronaldo.Afonso@cyclades.com> wrote:
> >
> > All the functions in the libc do not show me nanosecond's precision. What
> > they do is get a microsecond number and multiply it by 1000. So, I realized
> > that it has to be that way because it's impossible to get a nanosecond's
> > precison on a machine with a 2Ghz clock. The system needs more than a
> > nanosecond to execute an instruction, so any nanosecond's precision, at
> > leas on a 2Ghz machine, should be inaccurate. I'm just sharing what I've
> > found.
> >
> > Anyway, I'd like to thank everyone who helped me with this question.
>
> #include <time.h>
> int clock_gettime(clockid_t clock_id, struct timespec *tp);
>
> timespec.nv_nsec provides nanosecond resolution. Use CLOCK_REALTIME
> for clock_id.
BTW: Most of the existing implementations have been fixed to cope with
these new, fast machines. There is a technique known as Time
Interpolation which is implemented on most IA64 machines an in almost
every current 1,6 GHz+ system. So you can be quite sure that the
results are as accurate as possible. I am aware of patches that
utilize memory mapped or CPU counter to do the time interpolations for
any platforms. This allows an easy way to realize a nanosecond
resolution for all platforms.
Regards
\Steve
--
Steve Graegert <graegerts@gmail.com>
Software Consultancy {C/C++ && Java && .NET}
Mobile: +49 (176) 21248869
Office: +49 (9131) 7126409
prev parent reply other threads:[~2005-08-25 13:45 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-25 12:28 Nanoseconds precision Ronaldo.Afonso
2005-08-25 12:40 ` Steve Graegert
2005-08-25 13:20 ` Ronaldo.Afonso
2005-08-25 13:37 ` Steve Graegert
2005-08-25 13:41 ` Håkon Hallingstad
2005-08-25 13:45 ` Steve Graegert [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6a00c8d505082506456afb0af8@mail.gmail.com \
--to=graegerts@gmail.com \
--cc=Ronaldo.Afonso@cyclades.com \
--cc=linux-c-programming-owner@vger.kernel.org \
--cc=linux-c-programming@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.