Re: Optimize numeric multiplication for one and two base-NBASE digit multiplicands.
От | Joel Jacobson |
---|---|
Тема | Re: Optimize numeric multiplication for one and two base-NBASE digit multiplicands. |
Дата | |
Msg-id | 4e54bf4f-59fe-4c9a-b446-a2b64cbfd584@app.fastmail.com обсуждение исходный текст |
Ответ на | Re: Optimize numeric multiplication for one and two base-NBASE digit multiplicands. (Dean Rasheed <dean.a.rasheed@gmail.com>) |
Ответы |
Re: Optimize numeric multiplication for one and two base-NBASE digit multiplicands.
|
Список | pgsql-hackers |
On Tue, Jul 2, 2024, at 13:44, Dean Rasheed wrote: >> Can you think of an example that should trigger the bug? > > 9999.0001 * 5000.9999_9999 with rscale = 0 triggers it (returned > 50004999 instead of 50005000). Thanks, helpful. Attached patch adds the var1ndigits=3 case. Benchmark: /* * Apple M3 Max */ SELECT SUM(var1*var2) FROM bench_mul_var_var1ndigits_3; -- HEAD Time: 3809.005 ms (00:03.809) Time: 3438.260 ms (00:03.438) Time: 3453.920 ms (00:03.454) SELECT SUM(var1*var2) FROM bench_mul_var_var1ndigits_3; -- v3-optimize-numeric-mul_var-small-var1-arbitrary-var2.patch Time: 3230.017 ms (00:03.230) Time: 3244.094 ms (00:03.244) Time: 3246.370 ms (00:03.246) /* * Intel Core i9-14900K */ SELECT SUM(var1*var2) FROM bench_mul_var_var1ndigits_3; -- HEAD Time: 4082.759 ms (00:04.083) Time: 4077.372 ms (00:04.077) Time: 4080.830 ms (00:04.081) SELECT SUM(var1*var2) FROM bench_mul_var_var1ndigits_3; -- v3-optimize-numeric-mul_var-small-var1-arbitrary-var2.patch Time: 3989.021 ms (00:03.989) Time: 3978.263 ms (00:03.978) Time: 3955.331 ms (00:03.955) /* * AMD Ryzen 9 7950X3D */ SELECT SUM(var1*var2) FROM bench_mul_var_var1ndigits_3; -- HEAD Time: 3791.271 ms (00:03.791) Time: 3760.138 ms (00:03.760) Time: 3758.773 ms (00:03.759) SELECT SUM(var1*var2) FROM bench_mul_var_var1ndigits_3; -- v3-optimize-numeric-mul_var-small-var1-arbitrary-var2.patch Time: 3400.824 ms (00:03.401) Time: 3373.714 ms (00:03.374) Time: 3345.505 ms (00:03.346) Regards, Joel
Вложения
В списке pgsql-hackers по дате отправления: