Re: [HACKERS] pgsql: Improve performance of SendRowDescriptionMessage.

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Noah Misch <noah@leadboat.com>, pgsql-committers@postgresql.org
Date: 2017-10-13T18:01:06Z
Lists: pgsql-hackers
On 2017-10-13 13:48:07 -0400, Tom Lane wrote:
> I wrote:
> > Anyway, I will go make the sizeof() usages consistent, just to satisfy
> > my own uncontrollable neatnik-ism.  Assuming that hornet stays red,
> > which is probable, we should disable "restrict" for that compiler.
> 
> As expected, that didn't fix it.  Andres, are you going to put in
> a disable?  Do we know exactly what we want to test for that?

A easiest way to do this would be to put something like
CPPFLAGS="$CPPFLAGS -Dpg_restrict" into the existing
if test "$GCC" != yes ; then
block in a/src/template/linux. But that'd probably result in "macro
redefined" warnings or somesuch.

So it'd probably better to introduce a FORCE_DISABLE_RESTRICT=yes, set
at the same place, that's then tested before running the relevant
configure check?

Greetings,

Andres Freund


Commits

  1. Force "restrict" not to be used when compiling with xlc.

  2. Rely on sizeof(typename) rather than sizeof(variable) in pqformat.h.

  3. Use C99 restrict via pg_restrict, rather than restrict directly.

  4. Improve performance of SendRowDescriptionMessage.

  5. Partially flatten struct tupleDesc so that it can be used in DSM.

  6. Remove useless duplicate inclusions of system header files.