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(-)