Re: Improving and extending int128.h to more of numeric.c
Dean Rasheed <dean.a.rasheed@gmail.com>
From: Dean Rasheed <dean.a.rasheed@gmail.com>
To: John Naylor <johncnaylorls@gmail.com>
Cc: Andres Freund <andres@anarazel.de>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2025-08-04T14:58:15Z
Lists: pgsql-hackers
On Fri, 18 Jul 2025 at 07:42, John Naylor <johncnaylorls@gmail.com> wrote: > > While testing something else on s390x, I noticed that __int128 support > is broken on that platform at least for some versions of clang [1], > and I see improvement there with this patch: > > Query 1: > HEAD: 3015ms > Patch: 2206ms > > Query 2: > HEAD: 3394ms > Patch: 2514ms Thanks for testing. On Fri, 18 Jul 2025 at 07:47, John Naylor <johncnaylorls@gmail.com> wrote: > > On Thu, Jul 17, 2025 at 2:30 PM Dean Rasheed <dean.a.rasheed@gmail.com> wrote: > > > > BTW, my other motivation for doing this was to simplify the numeric > > code. Even if this had zero performance benefit, as long as it didn't > > make things any slower, I would argue that it's worth doing. > > I gathered that was the main motivation, and I agree. I looked over > 0005 and don't see any issues. Thanks for reviewing. If there are no objections, I'll push this shortly (though I'll change INT64_HEX_FORMAT to PRIx64, since it looks like the former is about to go away). Regards, Dean
Commits
-
Guard against division by zero in test_int128 module.
- 7e2af1fb1118 19 (unreleased) landed
-
Extend int128.h to support more numeric code.
- d699687b329e 19 (unreleased) landed
-
Simplify non-native 64x64-bit multiplication in int128.h.
- d8a08dbee46c 19 (unreleased) landed
-
Optimise non-native 128-bit addition in int128.h.
- d9bb8ef093d6 19 (unreleased) landed
-
Refactor int128.h, bringing the native and non-native code together.
- 5761d991c984 19 (unreleased) landed
-
Convert src/tools/testint128.c into a test module.
- 8c7445a00810 19 (unreleased) landed