Re: Improve CRC32C performance on SSE4.2
Andy Fan <zhihuifan1213@163.com>
From: Andy Fan <zhihuifan1213@163.com>
To: Jesper Pedersen <jesperpedersen.db@gmail.com>
Cc: Nathan Bossart <nathandbossart@gmail.com>, Tomas Vondra
<tomas@vondra.me>, John Naylor <johncnaylorls@gmail.com>, "Devulapalli,
Raghuveer" <raghuveer.devulapalli@intel.com>,
"pgsql-hackers@lists.postgresql.org"
<pgsql-hackers@lists.postgresql.org>, "Shankaran, Akash"
<akash.shankaran@intel.com>, Tomas Vondra <tomas@vondra.me>
Date: 2025-06-15T01:31:43Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Include _mm512_zextsi128_si512() in AVX-512 configure probes.
- ccd5bc93fdfe 18.0 landed
-
Properly fix AVX-512 CRC calculation bug
- 43da394304fb 18.0 landed
-
Workaround code generation bug in clang
- f83f14881c7a 18.0 landed
-
Compute CRC32C using AVX-512 instructions where available
- 3c6e8c123896 18.0 landed
-
Inline CRC computation for small fixed-length input on x86
- e2809e3a1015 18.0 landed
-
Be more paranoid in configure's checks for CRC and POPCNT intrinsics.
- fdb5dd6331e3 18.0 cited
Jesper Pedersen <jesperpedersen.db@gmail.com> writes: Hi, Thank you Nathan, Tomas and Jesper for the answers. The patch at [0] works for me and I could work with master smoothly now. > On 6/14/25 9:56 AM, Nathan Bossart wrote: >> I'm also genuinely curious why folks are using -O0... >> > > Personally, I use > > -O0 -fno-omit-frame-pointer > > for FlameGraph [1] investigations. Same here. I use clang as compiler because I use clangd for code indexing, gcc sometimes use different compiler options which may broke it. I used '-O0' in my daily coding and only use '-O2' when doing some performance testing. [0] https://www.postgresql.org/message-id/CANWCAZbsuavqUK4tg6UF-0-GVRMaq7BafUx4%2BDyd12y%3D-AuFAA%40mail.gmail.com -- Best Regards Andy Fan