Re: What is a typical precision of gettimeofday()?

Hannu Krosing <hannuk@google.com>

From: Hannu Krosing <hannuk@google.com>
To: "Andrey M. Borodin" <x4mmm@yandex-team.ru>
Cc: Peter Eisentraut <peter@eisentraut.org>, Ants Aasma <ants@cybertec.at>, gregsmithpgsql@gmail.com, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2024-06-18T15:08:57Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Force LC_NUMERIC to C while running TAP tests.

  2. Minor tweaks for pg_test_timing.

  3. Change pg_test_timing to measure in nanoseconds not microseconds.

I plan to send patch to pg_test_timing in a day or two

the underlying time precision on modern linux seems to be

2 ns for some Intel CPUs
10 ns for Zen4
40 ns for ARM (Ampere)

---
Hannu



|




On Tue, Jun 18, 2024 at 7:48 AM Andrey M. Borodin <x4mmm@yandex-team.ru>
wrote:

>
>
> > On 19 Mar 2024, at 13:28, Peter Eisentraut <peter@eisentraut.org> wrote:
> >
> > I feel that we don't actually have any information about this
> portability concern.  Does anyone know what precision we can expect from
> gettimeofday()?  Can we expect the full microsecond precision usually?
>
> At PGConf.dev Hannu Krossing draw attention to pg_test_timing module. I’ve
> tried this module(slightly modified to measure nanoseconds) on some
> systems, and everywhere I found ~100ns resolution (95% of ticks fall into
> 64ns and 128ns buckets).
>
> I’ll add cc Hannu, and also pg_test_timing module authors Ants ang Greg.
> Maybe they can add some context.
>
>
> Best regards, Andrey Borodin.