Re: Streaming I/O, vectored I/O (WIP)

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Cc: Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Andres Freund <andres(at)anarazel(dot)de>, Melanie Plageman <melanieplageman(at)gmail(dot)com>
Subject: Re: Streaming I/O, vectored I/O (WIP)
Date: 2024-03-29 16:28:29
Message-ID: d1eb996b-423a-4bcd-bce4-75f5daa12ffa@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 29/03/2024 09:01, Thomas Munro wrote:
> On Fri, Mar 29, 2024 at 9:45 AM Heikki Linnakangas <hlinnaka(at)iki(dot)fi> wrote:
>> master (213c959a29): 8.0 s
>> streaming-api v13: 9.5 s
>
> Hmm, that's not great, and I think I know one factor that has
> confounded my investigation and the conflicting reports I have
> received from a couple of people: some are using meson, which is
> defaulting to -O3 by default, and others are using make which gives
> you -O2 by default, but at -O2, GCC doesn't inline that
> StartReadBuffer specialisation that is used in the "fast path", and
> possibly more. Some of that gap is closed by using
> pg_attribute_inline_always. Clang fails to inline at any level. So I
> should probably use the "always" macro there because that is the
> intention. Still processing the rest of your email...

Ah yeah, I also noticed that the inlining didn't happen with some
compilers and flags. I use a mix of gcc and clang and meson and autoconf
in my local environment.

The above micro-benchmarks were with meson and gcc -O3. GCC version:

$ gcc --version
gcc (Debian 12.2.0-14) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

--
Heikki Linnakangas
Neon (https://neon.tech)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2024-03-29 16:30:14 Re: Popcount optimization using AVX512
Previous Message Nathan Bossart 2024-03-29 16:22:11 Re: Popcount optimization using AVX512