Re: pgsql: Improve performance of SendRowDescriptionMessage.
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Noah Misch <noah@leadboat.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-committers@postgresql.org
Date: 2017-10-13T07:32:43Z
Lists: pgsql-hackers
On 2017-10-12 19:35:36 -0700, Noah Misch wrote: > On Thu, Oct 12, 2017 at 04:08:44PM -0700, Andres Freund wrote: > > So we've two animals (hornet, sungazer) that are: > > #define SIZEOF_SIZE_T 8 > > #define WORDS_BIGENDIAN 1 > > #define restrict __restrict > > > > one compiled with xlc that fails and one with gcc that succeeds. I'm > > hesitant to reach for that, but I wonder if there's a compiler > > bug. Alternatively there could be some undefined behaviour here that > > only triggers on xlc 64bit, but I'm not quite seeing it. > > > > Noah, any chance you could force restrict to off on that animal? > > I can confirm it allows "make check" to pass. Specifically, I did this > against commit 91d5f1a: > > --- src/include/pg_config.h~ 2017-10-12 18:11:33.000000000 -0700 > +++ src/include/pg_config.h 2017-10-12 18:22:34.000000000 -0700 > @@ -929 +929 @@ > - #define pg_restrict __restrict > + #define pg_restrict > @@ -934 +934 @@ > - #define restrict __restrict > + #define restrict > > I have no reason to believe this is specific to hornet's installation, so I > recommend against altering hornet's configuration. It's too likely that the > next xlc user will need to do the same thing. Yea, I wasn't trying to propose that - I just thought it'd be easier to narrow down with access to the machine than 6h cycle buildfarm debugging. > > Otherwise I can push a platform fix that disables it. > > This sounds reasonable. I'm not getting a great vibe about the aix/xlc quality in this thread :( Greetings, Andres Freund
Commits
-
Force "restrict" not to be used when compiling with xlc.
- d133982d598c 11.0 landed
-
Rely on sizeof(typename) rather than sizeof(variable) in pqformat.h.
- 5229db6c6f92 11.0 landed
-
Use C99 restrict via pg_restrict, rather than restrict directly.
- 91d5f1a4a3e8 11.0 cited
-
Improve performance of SendRowDescriptionMessage.
- 4c119fbcd49b 11.0 cited
-
Partially flatten struct tupleDesc so that it can be used in DSM.
- c6293249dc17 11.0 cited
-
Remove useless duplicate inclusions of system header files.
- 9e3755ecb2d0 10.0 cited