Re: pgsql: Improve performance of SendRowDescriptionMessage.
Noah Misch <noah@leadboat.com>
From: Noah Misch <noah@leadboat.com>
To: Andres Freund <andres@anarazel.de>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-committers@postgresql.org
Date: 2017-10-13T02:35:36Z
Lists: pgsql-hackers
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. I don't see the problem with xlc 13.1.3, though. > Otherwise I can push a platform fix that disables it. This sounds reasonable. nm
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