[COMMITTERS] pgsql: Extend & revamp pg_bswap.h infrastructure. - Mailing list pgsql-committers

From Andres Freund
Subject [COMMITTERS] pgsql: Extend & revamp pg_bswap.h infrastructure.
Date
Msg-id E1dy5fJ-00081c-3N@gemulon.postgresql.org
Whole thread Raw
Responses Re: [COMMITTERS] pgsql: Extend & revamp pg_bswap.h infrastructure.  (Peter Geoghegan <pg@bowt.ie>)
Re: [COMMITTERS] pgsql: Extend & revamp pg_bswap.h infrastructure.  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-committers
Extend & revamp pg_bswap.h infrastructure.

Upcoming patches are going to address performance issues that involve
slow system provided ntohs/htons etc. To address that expand
pg_bswap.h to provide pg_ntoh{16,32,64}, pg_hton{16,32,64} and
optimize their respective implementations by using compiler intrinsics
for gcc compatible compilers and msvc. Fall back to manual
implementations using shifts etc otherwise.

Additionally remove multiple evaluation hazards from the existing
BSWAP32/64 macros, by replacing them with inline functions when
necessary. In the course of that the naming scheme is changed to
pg_bswap16/32/64.

Author: Andres Freund
Discussion: https://postgr.es/m/20170927172019.gheidqy6xvlxb325@alap3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/510b8cbff15fcece246f66f2273ccf830a6c7e98

Modified Files
--------------
config/c-compiler.m4            |  17 ++++++
configure                       |  24 ++++++++
configure.in                    |   1 +
contrib/btree_gist/btree_uuid.c |   4 +-
src/include/pg_config.h.in      |   3 +
src/include/pg_config.h.win32   |   3 +
src/include/port/pg_bswap.h     | 132 ++++++++++++++++++++++++++++++++--------
src/include/port/pg_crc32c.h    |   2 +-
8 files changed, 159 insertions(+), 27 deletions(-)


--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

pgsql-committers by date:

Previous
From: Peter Eisentraut
Date:
Subject: [COMMITTERS] pgsql: Use Py_RETURN_NONE where suitable
Next
From: Peter Geoghegan
Date:
Subject: Re: [COMMITTERS] pgsql: Extend & revamp pg_bswap.h infrastructure.