]> granicus.if.org Git - postgresql/commit
Use 128-bit math to accelerate some aggregation functions.
authorAndres Freund <andres@anarazel.de>
Fri, 20 Mar 2015 09:26:17 +0000 (10:26 +0100)
committerAndres Freund <andres@anarazel.de>
Fri, 20 Mar 2015 09:29:32 +0000 (10:29 +0100)
commit959277a4f579da5243968c750069570a58e92b38
treec147f58a8bb3e6d6c0f5a4bdad89d2f36fdcb265
parent8122e1437e332e156d971a0274879b0ee76e488a
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
src/backend/utils/adt/numeric.c
src/include/catalog/catversion.h
src/include/catalog/pg_aggregate.h
src/include/catalog/pg_proc.h
src/include/utils/builtins.h