Re: Using 128-bit integers for sum, avg and statistics aggregates

From: Andreas Karlsson <andreas(at)proxel(dot)se>
To: Peter Geoghegan <pg(at)heroku(dot)com>
Cc: Petr Jelinek <petr(at)2ndquadrant(dot)com>, David Rowley <dgrowleyml(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Andres Freund <andres(at)2ndquadrant(dot)com>
Subject: Re: Using 128-bit integers for sum, avg and statistics aggregates
Date: 2015-03-14 03:17:29
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On 03/13/2015 10:22 PM, Peter Geoghegan wrote:
> On Thu, Mar 12, 2015 at 6:23 PM, Andreas Karlsson <andreas(at)proxel(dot)se> wrote:
>> /*
>> * Integer data types use Numeric accumulators to share code and avoid risk
>> * of overflow. To speed up aggregation 128-bit integer accumulators are
>> * used instead where sum(X) or sum(X*X) fit into 128-bits, and there is
>> * platform support.
>> *
>> * For int2 and int4 inputs sum(X) will fit into a 64-bit accumulator, hence
>> * we use faster special-purpose accumulator routines for SUM and AVG of
>> * these datatypes.
>> */
>> #ifdef HAVE_INT128
>> typedef struct Int128AggState
> Not quite. Refer to the 128-bit integer accumulators as
> "special-purpose accumulator routines" instead. Then, in the case of
> the extant 64-bit accumulators, refer to them by the shorthand
> "integer accumulators". Otherwise it's the wrong way around.

I disagree. The term "integer accumulators" is confusing. Right now I do
not have any better ideas for how to write that comment, so I submit the
next version of the patch with the comment as I wrote it above. Feel
free to come up with a better wording, my English is not always up to
par when writing technical texts.

Andreas Karlsson

Attachment Content-Type Size
int128-agg-v8.patch text/x-patch 38.2 KB

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2015-03-14 05:04:44 Re: Parallel Seq Scan
Previous Message Andrew Gierth 2015-03-14 02:51:10 Re: Re: Abbreviated keys for Datum tuplesort