Re: Some optimisations for numeric division
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Dean Rasheed <dean.a.rasheed@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-02-25T18:30:33Z
Lists: pgsql-hackers
Dean Rasheed <dean.a.rasheed@gmail.com> writes: > And another update following feedback from the cfbot. This patchset LGTM. On my machine there doesn't seem to be any measurable performance change for the numeric regression test, but numeric_big gets about 15% faster. The only additional thought I have, based on your comments about 0001, is that maybe in mul_var we should declare var1digit as being NumericDigit not int. I tried that here and didn't see any material change in the generated assembly code (using gcc 8.5.0), so you're right that modern gcc doesn't need any help there; but I wonder if it could help on other compiler versions. I'll mark this RFC. regards, tom lane
Commits
-
Optimise numeric division for one and two base-NBASE digit divisors.
- d1b307eef281 15.0 landed
-
Simplify the inner loop of numeric division in div_var().
- d996d648f333 15.0 landed
-
Apply auto-vectorization to the inner loop of div_var_fast().
- e3d41d08a175 15.0 landed
-
Apply auto-vectorization to the inner loop of numeric multiplication.
- 88709176236c 14.0 cited