4 ms·
Likely as much noise as signal, but anyway: I'm using an 8th(?) generation Intel, i7-8665U. https://github.com/htot/crc32c https://github.com/htot/crc32c has
by Twirrim 4y ago
Likely as much noise as signal, but anyway:
I'm using an 8th(?) generation Intel, i7-8665U.
https://github.com/htot/crc32c https://github.com/htot/crc32c has some interesting implementations of CRC32 algorithms of different speeds, the highest I see is (function, aligned, bytes, MiB/s) :
crc32cIntelC true 16 3907.613
crc32cIntelC true 64 15096.758
crc32cIntelC true 128 24692.803
crc32cIntelC true 192 22732.392
crc32cIntelC true 256 16233.397
crc32cIntelC true 288 16748.952
crc32cIntelC true 512 19862.039
crc32cIntelC true 1024 22373.350
crc32cIntelC true 1032 22482.031
crc32cIntelC true 4096 24690.531
crc32cIntelC true 8192 24992.827
So pushing 25GiB/s on a 3ish year old CPU.
- neurostimulant 4y agoI'm using i7-4790 (7 year old cpu) and the numbers are slightly better. Maybe because it's a desktop. crc32cIntelC true 16 4025.334 crc32cIntelC true 64 15749.095 crc32cIntelC true 128 26608.064 crc32cIntelC true 192 25828.486 crc32cIntelC true 256 17448.436 crc32cIntelC true 288 18336.381 crc32cIntelC true 512 22635.590 crc32cIntelC true 1024 24654.248 crc32cIntelC true 1032 24180.107 crc32cIntelC true 4096 28251.903 crc32cIntelC true 8192 28768.134
- jeffbee 4y agoCore i7-12700K: crc32cIntelC true 64 26210.561 crc32cIntelC true 128 35870.309 crc32cIntelC true 192 36850.224 crc32cIntelC true 256 30343.690 crc32cIntelC true 288 30671.327 crc32cIntelC true 512 32443.251 crc32cIntelC true 1024 34654.719 crc32cIntelC true 1032 34265.440 crc32cIntelC true 4096 38111.089 crc32cIntelC true 8192 38634.925
- wtallis 4y agoFYI, CRC32C is not the same checksum as CRC32. CRC32C is used in iSCSI, btrfs, ext4. CRC32 is used in Ethernet, SATA, gzip. Intel's SSE4.2 provides an instruction implementing CRC32C but not CRC32. ARM defines instructions for both. This article seems to miss that distinction but appears to be testing CRC32, so it's not quite correct to compare against something using Intel's CRC32C instruction.