- Notifications
You must be signed in to change notification settings - Fork5
Commit9cca11c
committed
Speed up SUM calculation in numeric aggregates.
This introduces a numeric sum accumulator, which performs better thanrepeatedly calling add_var(). The performance comes from using wider digitsand delaying carry propagation, tallying positive and negative valuesseparately, and avoiding a round of palloc/pfree on every value. Thisspeeds up SUM(), as well as other standard aggregates like AVG() andSTDDEV() that also calculate a sum internally.Reviewed-by: Andrey BorodinDiscussion: <c0545351-a467-5b76-6d46-4840d1ea8aa4@iki.fi>1 parent9f85784 commit9cca11c
File tree
3 files changed
+522
-103
lines changed- src
- backend/utils/adt
- test/regress
- expected
- sql
3 files changed
+522
-103
lines changed0 commit comments
Comments
(0)