pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Dilip Kumar <dilipbalaut@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Cc: Andres Freund <andres@anarazel.de>
Cc: Melanie Plageman <melanieplageman@gmail.com>
Subject: Re: Streaming I/O, vectored I/O (WIP)
Date: Fri, 29 Mar 2024 18:28:29 +0200
Message-ID: <d1eb996b-423a-4bcd-bce4-75f5daa12ffa@iki.fi> (raw)
In-Reply-To: <CA+hUKGLncY4sqa1RwoRwY_qq+2Fd-_0X3mDKk_p15sipmXZOng@mail.gmail.com>
References: <CA+hUKGJkOiOCa+mag4BF+zHo7qo=o9CFheB8=g6uT5TUm2gkvA@mail.gmail.com>
	<CAFiTN-vkrD77SH7JSS_P-07f7H-5uxB4XM_=OVHyumzqJKLqpQ@mail.gmail.com>
	<CA+hUKGLJi+c5jB3j6UvkgMYHky-qu+LPCsiNahUGSa5Z4DvyVA@mail.gmail.com>
	<56bc4ac4-9a9e-4f28-af1e-b6d537bd9a5e@iki.fi>
	<CA+hUKG+2mMiyJEDV-rNb5q__x9VJW5p8oJpGn9ZpovbyoVe1VA@mail.gmail.com>
	<289a1c0e-8444-4009-a8c2-c2d77ced6f07@iki.fi>
	<CA+hUKGJTwrS7F=uJPx3SeigMiQiW+LJaOkjGyZdCntwyMR=uAw@mail.gmail.com>
	<CAAKRu_aHAExA0psUQ6C0DpHrH_tVtjgKDFZCDjFoGdYu04iOpg@mail.gmail.com>
	<CA+hUKG+BqsqOS90Annd6hJoUFwStUrZ=R-5bJFUaoA8ZsLf-cQ@mail.gmail.com>
	<CA+hUKGJ9HgsZmnC7ABs8ZXOL-MtQCfC7Z-oQuHagm++f5O=udw@mail.gmail.com>
	<CA+hUKGLmN=NOL06XmuW9LvMPWnj87xHGvdLeiy9poP7+yOmDdw@mail.gmail.com>
	<CA+hUKGLN8D7sZUaMVf8aNcC17b3Qkncu2Xayb-qym5E3-p5goA@mail.gmail.com>
	<CA+hUKG+5UofvseJWv6YqKmuc_=rguc7VqKcNEG1eawKh3MzHXQ@mail.gmail.com>
	<98f01395-fc60-4d50-89c9-fc3011fa2a45@iki.fi>
	<CA+hUKGLncY4sqa1RwoRwY_qq+2Fd-_0X3mDKk_p15sipmXZOng@mail.gmail.com>

On 29/03/2024 09:01, Thomas Munro wrote:
> On Fri, Mar 29, 2024 at 9:45 AM Heikki Linnakangas <hlinnaka@iki.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)






view thread (67+ messages)  latest in thread

Message-ID: <d1eb996b-423a-4bcd-bce4-75f5daa12ffa@iki.fi>
Permalink:  ../d1eb996b-423a-4bcd-bce4-75f5daa12ffa@iki.fi/
Also on:    postgresql.org/message-id/d1eb996b-423a-4bcd-bce4-75f5daa12ffa@iki.fi

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: hlinnaka@iki.fi, thomas.munro@gmail.com, dilipbalaut@gmail.com, robertmhaas@gmail.com, andres@anarazel.de, melanieplageman@gmail.com
  Subject: Re: Streaming I/O, vectored I/O (WIP)
  In-Reply-To: <d1eb996b-423a-4bcd-bce4-75f5daa12ffa@iki.fi>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox