Re: nodeAgg perf tweak

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: nodeAgg perf tweak
Дата
Msg-id 11086.1102038698@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: nodeAgg perf tweak  (Neil Conway <neilc@samurai.com>)
Ответы Re: nodeAgg perf tweak
Список pgsql-hackers
Neil Conway <neilc@samurai.com> writes:
> - yours would mean that int8inc() and similar aggregates wouldn't ever
> need to do palloc(); mine would require a palloc() every k calls to the
> transition function.

No.  The current code involves two pallocs per cycle, one inside the
aggregate function to construct its result value, and then one in
datumCopy to copy the result into the proper context.  Your patch
reduces that to 1 + 1/k pallocs per cycle, mine to zero.

The fact that it's a central fix for all aggregate functions is
definitely a nice feature of your approach, but I am concerned about the
possible side-effects on user-defined aggregate functions that may not
work as you expect them to.  I think it's safer to keep the aggregate
code behaving as-is and get the performance win in the individual
functions.  There are not that many aggregates that we really care that
much about.
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Neil Conway
Дата:
Сообщение: Re: nodeAgg perf tweak
Следующее
От: "Gevik Babakhani"
Дата:
Сообщение: Re: Code documentation