pgsql: Apply the "nodeAgg" optimization to more of the builtin

From: neilc(at)svr1(dot)postgresql(dot)org (Neil Conway)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Apply the "nodeAgg" optimization to more of the builtin
Date: 2005-04-06 23:56:07
Message-ID: 20050406235607.9E2EA52A84@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Apply the "nodeAgg" optimization to more of the builtin transition
functions. This patch optimizes int2_sum(), int4_sum(), float4_accum()
and float8_accum() to avoid needing to copy the transition function's
state for each input tuple of the aggregate. In an extreme case
(e.g. SELECT sum(int2_col) FROM table where table has a single column),
it improves performance by about 20%. For more complex queries or tables
with wider rows, the relative performance improvement will not be as
significant.

Modified Files:
--------------
pgsql/src/backend/utils/adt:
float.c (r1.113 -> r1.114)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/float.c.diff?r1=1.113&r2=1.114)
numeric.c (r1.82 -> r1.83)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/numeric.c.diff?r1=1.82&r2=1.83)

Browse pgsql-committers by date

  From Date Subject
Next Message Neil Conway 2005-04-07 01:51:42 pgsql: Add a "USING" clause to DELETE, which is equivalent to the FROM
Previous Message Tom Lane 2005-04-06 20:13:49 pgsql: Remove test for NULL node in ExecProcNode().