Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 9cca11c

Browse files
committed
Speed up SUM calculation in numeric aggregates.
This introduces a numeric sum accumulator, which performs better than repeatedly calling add_var(). The performance comes from using wider digits and delaying carry propagation, tallying positive and negative values separately, and avoiding a round of palloc/pfree on every value. This speeds up SUM(), as well as other standard aggregates like AVG() and STDDEV() that also calculate a sum internally. Reviewed-by: Andrey Borodin Discussion: <c0545351-a467-5b76-6d46-4840d1ea8aa4@iki.fi>
1 parent 9f85784 commit 9cca11c

File tree

3 files changed

+522
-103
lines changed

3 files changed

+522
-103
lines changed

0 commit comments

Comments
 (0)