Crates.io | librscrc |
lib.rs | librscrc |
version | 0.1.0 |
source | src |
created_at | 2022-07-07 19:19:06.312682 |
updated_at | 2022-07-07 19:19:06.312682 |
description | librscrc is a collection of crc32 algorithms with support for various approaches and custom polynomial. |
homepage | |
repository | https://github.com/psvri/librscrc |
max_upload_size | |
id | 621365 |
size | 56,448 |
Librscrc is a collection of crc32 algorithms with support for various approaches like simd and table based lookup and custom polynomial implemented in rust.
Simd is currently supported on the following architectures
Unsafe code is used for calls to intrinsics. These can be opted out by setting default-features = false
in
Cargo.toml, there by disabling simd and hardware crc intrinsics support.
Your mileage may vary based on the hardware used. This section is meant to only give comparison of various approaches.
Algorithm(crc32c) | x86_64(throughput) | aarch64(throughput) |
---|---|---|
naive | 249.97 MiB/s | 221.81 MiB/s |
lookup | 3.6584 GiB/s | 2.2660 GiB/s |
hardware crc | 10.483 GiB/s | 21.026 GiB/s |
simd | 25.479 GiB/s | 18.079 GiB/s |