Re: Performance gain from reduction of GROUP BY memory

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Performance gain from reduction of GROUP BY memory
Date: 2005-08-30 14:23:49
Message-ID: 200508301423.j7UENnk03138@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce pgsql-hackers

Simon Riggs wrote:
> On Mon, 2005-08-29 at 20:25 -0400, Tom Lane wrote:
> > Simon Riggs <simon(at)2ndquadrant(dot)com> writes:
> > > I notice that Neil's patch regarding reducing the number of memory
> > > allocations during aggregation operations isn't mentioned. It was
> > > originally discussed in 8.0beta (2-3?) time.
> >
> > > What happened there?
> > > - patch not committed in the end
> > > - committed but not mentioned, as a dropped item
> > > - committed but not mentioned, since part of a larger patch
> >
> > Are you speaking of these patches?
>
> Yes, those look like the ones I mentioned.
>
> Those seem to have a useful performance improvement?
>
> At very least, the change in Aggregate function API should be mentioned,
> no?

> > 2005-03-12 15:25 tgl
> >
> > * contrib/intagg/int_aggregate.c,
> > contrib/intagg/int_aggregate.sql.in, doc/src/sgml/xaggr.sgml,
> > doc/src/sgml/xfunc.sgml, src/backend/executor/nodeAgg.c,
> > src/backend/utils/adt/int8.c: Adjust the API for aggregate function
> > calls so that a C-coded function can tell whether it is being used
> > as an aggregate or not. This allows such a function to avoid
> > re-pallocing a pass-by-reference transition value; normally it
> > would be unsafe for a function to scribble on an input, but in the
> > aggregate case it's safe to reuse the old transition value. Make
> > int8inc() do this. This gets a useful improvement in the speed of
> > COUNT(*), at least on narrow tables (it seems to be swamped by I/O
> > when the table rows are wide). Per a discussion in early December
> > with Neil Conway. I also fixed int_aggregate.c to check this,
> > thereby turning it into something approaching a supportable
> > technique instead of being a crude hack.

I don't usually document internal API changes in the release notes.
Should I?

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Responses

Browse pgsql-announce by date

  From Date Subject
Next Message Alvaro Herrera 2005-08-30 14:39:52 Re: Performance gain from reduction of GROUP BY memory
Previous Message EMS Software Development 2005-08-30 08:22:54 EMS PostgreSQL Manager 3.2 released

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas F. O'Connell 2005-08-30 14:27:51 Re: 8.1beta, SunOS and shmget
Previous Message Tom Lane 2005-08-30 13:54:55 Re: VACUUM/t_ctid bug (was Re: GiST concurrency commited)