Crates.io | crc64fast |
lib.rs | crc64fast |
version | 1.1.0 |
source | src |
created_at | 2019-11-20 08:25:56.883456 |
updated_at | 2024-01-18 14:53:16.007296 |
description | SIMD accelerated CRC64 calculation |
homepage | |
repository | https://github.com/tikv/crc64fast |
max_upload_size | |
id | 182926 |
size | 139,047 |
SIMD-accelerated CRC-64/XZ (a.k.a. CRC-64/GO-ECMA) computation
(similar to crc32fast
).
use crc64fast::Digest;
let mut c = Digest::new();
c.write(b"hello ");
c.write(b"world!");
let checksum = c.sum64();
assert_eq!(checksum, 0x8483_c0fa_3260_7d61);
crc64fast
provides two fast implementations, and the most performance one will
be chosen based on CPU feature at runtime.
Algorithm | Throughput (x86_64) | Throughput (aarch64) |
---|---|---|
crc 3.0.1 | 0.5 GiB/s | 0.3 GiB/s |
crc64fast (table) | 2.3 GiB/s | 1.8 GiB/s |
crc64fast (simd) | 28.2 GiB/s | 20.0 GiB/s |
This crate is mainly intended for use in TiKV only. Features beyond AArch64 are unlikely to be implemented.
no_std
supportcrc64fast is dual-licensed under