OSDN Git Service

Apply the "nodeAgg" optimization to more of the builtin transition
authorNeil Conway <neilc@samurai.com>
Wed, 6 Apr 2005 23:56:07 +0000 (23:56 +0000)
committerNeil Conway <neilc@samurai.com>
Wed, 6 Apr 2005 23:56:07 +0000 (23:56 +0000)
commitbe2f825d51176bd21a627a529476f94de5bad4c2
tree72f9ceb6d1da0fbb10dcfd7355e70b5797ce4b28
parenta6bbfedcf7a899c91182f373f93f15f5af247647
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.
src/backend/utils/adt/float.c
src/backend/utils/adt/numeric.c