On Thu, Oct 31, 2024 at 5:15 PM Simon Josefsson via Gnulib discussion list <bug-gnulib@gnu.org> wrote: > > Pádraig Brady <p...@draigbrady.com> writes: > > > I'd be reluctant to complicate the gnulib implementations with variants > > unless needed. > > I'd be especially reluctant to add the existing cksum crc variant to gnulib, > > since I don't see anything but cksum itself using that. > > Is there some performance optimization in coreutils cksum? > > I think gnulib could contain various crc variants, if some applications > desire them. But maybe getting the performance improvement into gzip is > good enough.
The two big ones I am aware of are CRC32 using polynomial 0xEDB88320 and CRC32-C using polynomial 0x82F63B78. CRC32 has hardware acceleration on x86 processors via SSE4.1. CRC32 and CRC32-C have hardware acceleration on ARMv8 processors via armv8.1a+crc. CRC32 has hardware acceleration on POWER8 using vpmsum; see <https://github.com/antonblanchard/crc32-vpmsum>. I think this is similar to what Sam provided using pclmul. Jeff