pgsql: Use static inline functions for float <-> Datum conversions. - Mailing list pgsql-committers

From Heikki Linnakangas
Subject pgsql: Use static inline functions for float <-> Datum conversions.
Date
Msg-id E1bf5B4-0003vG-0N@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Use static inline functions for float <-> Datum conversions.

Now that we are OK with using static inline functions, we can use them
to avoid function call overhead of pass-by-val versions of Float4GetDatum,
DatumGetFloat8, and Float8GetDatum. Those functions are only a few CPU
instructions long, but they could not be written into macros previously,
because we need a local union variable for the conversion.

I kept the pass-by-ref versions as regular functions. They are very simple
too, but they call palloc() anyway, so shaving a few instructions from the
function call doesn't seem so important there.

Discussion: <dbb82a4a-2c15-ba27-dd0a-009d2aa72b77@iki.fi>

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/14cca1bf8e31ed39dbc26dd6c610f1113e759972

Modified Files
--------------
src/backend/utils/fmgr/fmgr.c | 63 +++++--------------------------------------
src/include/postgres.h        | 63 +++++++++++++++++++++++++++++++++++++++++--
2 files changed, 67 insertions(+), 59 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Prevent starting a standalone backend with standby_mode on.
Next
From: Tom Lane
Date:
Subject: pgsql: Remove no-longer-useful SSL-specific Port.count field.