Skip to content

CRC64 checksums using carryless-multiplication accelerated with SIMD

License

Notifications You must be signed in to change notification settings

minio/crc64nvme

Repository files navigation

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.

About

CRC64 checksums using carryless-multiplication accelerated with SIMD

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published