Re: vectorized CRC on ARM64
John Naylor <johncnaylorls@gmail.com>
From: John Naylor <johncnaylorls@gmail.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-07T10:02:04Z
Lists: pgsql-hackers
Attachments
- add-len-check.patch (text/x-patch) patch
I wrote: > In the end, I want to add a length check so > that inputs smaller than 80 bytes go straight to the scalar path. > Above 80, after alignment adjustments in the preamble, that still > guarantees at least one loop iteration in the vector path. Attached is how that would look. The idea is that small inputs will encounter fewer branches. It'd be tricky to prove a difference with a benchmark, and I see this as just making the small-input path more similar to PG 18, as a risk-avoidance maneuver. -- John Naylor Amazon Web Services
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Use C11 alignas instead of pg_attribute_aligned
- 182f6944d3d0 19 (unreleased) landed
- 8061bfd15abe master landed
-
Add missing guard for __builtin_constant_p
- 936d8974c3bc 18.4 landed
- 676626426285 19 (unreleased) landed
-
Exit early from pg_comp_crc32c_pmull for small inputs
- 948ef7cdc499 19 (unreleased) landed
-
Fix unused function warning on Arm platforms
- 2849fe4c9785 19 (unreleased) landed
-
Compute CRC32C on ARM using the Crypto Extension where available
- fbc57f2bc2ee 19 (unreleased) landed