Re: Improve CRC32C performance on SSE4.2

From: John Naylor <johncnaylorls(at)gmail(dot)com>
To: "Devulapalli, Raghuveer" <raghuveer(dot)devulapalli(at)intel(dot)com>
Cc: Nathan Bossart <nathandbossart(at)gmail(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, "Shankaran, Akash" <akash(dot)shankaran(at)intel(dot)com>
Subject: Re: Improve CRC32C performance on SSE4.2
Date: 2025-03-25 13:04:10
Message-ID: CANWCAZYV1+zBG1PT_oLgE=uJLbHHC8YWxrA4JOq+Kv5BfFMuGw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Mar 24, 2025 at 6:37 PM John Naylor <johncnaylorls(at)gmail(dot)com> wrote:
> I'll take a look at the configure
> checks soon, since I had some questions there.

I'm leaning towards a length limit for v15-0001 so that inlined
instructions are likely to be unrolled. Aside from lack of commit
message, I think that one is ready for commit soon-ish.

I'm feeling pretty good about 0002, but since there is still room for
cosmetic fiddling, I want to let it sit for a bit longer.

I felt the previous proposals for configure.ac were unnecessarily
invasive, and the message looked out of place, so I made configure.ac
more similar to master, using the AVX popcount stuff as a model. I
also went the extra step and added a separate AC_MSG_CHECKING for
vectorized CRC. I'm not sure we really need that, but this algorithm
is trivially adoptable to Arm so it might be welcome for visibility.

For Meson, I just made the CRC checking comment a bit more general,
since keeping up this level of detail would result a loss in
readability.

0003 is just to demonstrate on CI that we are in fact computing the
same answer as master. An earlier patch had some additional tests in
strings.sql but I have yet to dig those out.

--
John Naylor
Amazon Web Services

Attachment Content-Type Size
v15-0001-Inline-CRC-computation-for-fixed-length-input.patch text/x-patch 1.8 KB
v15-0003-Add-debug-for-CI-XXX-not-for-commit.patch text/x-patch 1.4 KB
v15-0002-Improve-CRC32C-performance-on-x86_64.patch text/x-patch 21.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message John Naylor 2025-03-25 13:18:41 Re: Improve CRC32C performance on SSE4.2
Previous Message David Rowley 2025-03-25 12:11:45 Re: Query ID Calculation Fix for DISTINCT / ORDER BY and LIMIT / OFFSET