pgsql: Use 128-bit math to accelerate some aggregation functions.

Started by Andres Freundover 11 years ago1 messagescomitters
Jump to latest
#1Andres Freund
andres@anarazel.de

Use 128-bit math to accelerate some aggregation functions.

On platforms where we support 128bit integers, use them to implement
faster transition functions for sum(int8), avg(int8),
var_*(int2/int4),stdev_*(int2/int4). Where not supported continue to use
numeric as a transition type.

In some synthetic benchmarks this has been shown to provide significant
speedups.

Bumps catversion.

Discussion: 544BB5F1.50709@proxel.se
Author: Andreas Karlsson
Reviewed-By: Peter Geoghegan, Petr Jelinek, Andres Freund,
Oskari Saarenmaa, David Rowley

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/959277a4f579da5243968c750069570a58e92b38

Modified Files
--------------
src/backend/utils/adt/numeric.c | 428 ++++++++++++++++++++++++++++++++----
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_aggregate.h | 102 ++++-----
src/include/catalog/pg_proc.h | 15 ++
src/include/utils/builtins.h | 7 +
5 files changed, 463 insertions(+), 91 deletions(-)

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