Redis CRC Speed Improvements (Spoiler: short attention havers can follow direct link to results .) Redis has a CRC-64 implementation and a lot of people have copied it into other projects. Redis also has a CRC-16 implementation but fewer people have copied that one . They work, but they could be better. CRCs are inherently non-parallelizable because the C in CRC stands for Cyclical, meaning the value of the next iteration depends depends on the previous iteration. There's no simple unrolling of loops to process multiple bytes per iteration. Redis uses CRC-64 in three places: adding a checksum when migrating keys across instances (and verifying said checksum) adding a checksum to RDB output, both for replication and persistence (optional, can be disabled by config option because of slow performance) user-initiated memory testing Redis uses CRC-16 in one place: hash functi...