minio/crc64nvme

CRC64 checksums using carryless-multiplication accelerated with SIMD

Assembly

32

20 commits

updated Aug 12, 2025

See the code

README

crc64nvme

This Golang package calculates CRC64 checksums using carryless-multiplication accelerated with SIMD instructions for both ARM and x86. It is based on the NVME polynomial as specified in the NVM Express® NVM Command Set Specification.

The code is based on the crc64fast-nvme package in Rust and is released under the Apache 2.0 license.

For more background on the exact technique used, see this Fast CRC Computation for Generic Polynomials Using PCLMULQDQ Instruction paper.

Performance

To follow.

Requirements

All Go versions >= 1.22 are supported.

Contributing

Contributions are welcome, please send PRs for any enhancements.

minio/crc64nvme

CRC64 checksums using carryless-multiplication accelerated with SIMD

Assembly

32

20 commits

updated Aug 12, 2025

See the code

README

crc64nvme

This Golang package calculates CRC64 checksums using carryless-multiplication accelerated with SIMD instructions for both ARM and x86. It is based on the NVME polynomial as specified in the NVM Express® NVM Command Set Specification.

The code is based on the crc64fast-nvme package in Rust and is released under the Apache 2.0 license.

For more background on the exact technique used, see this Fast CRC Computation for Generic Polynomials Using PCLMULQDQ Instruction paper.

Performance

To follow.

Requirements

All Go versions >= 1.22 are supported.

Contributing

Contributions are welcome, please send PRs for any enhancements.

Significant stargazers

Aleksandr Razumov

412 followers · starred Feb 2025

Matthew Penner

178 followers · starred Jan 2026