|
5 | 5 | [](https://crates.io/crates/crc-fast)
|
6 | 6 | [](https://docs.rs/crc-fast)
|
7 | 7 |
|
8 |
| -Fast, hardware-accelerated CRC calculation for |
9 |
| -[all known CRC-32 and CRC-64 variants](https://reveng.sourceforge.io/crc-catalogue/all.htm) using SIMD intrinsics, |
| 8 | +World's fastest generic CRC calculator for |
| 9 | +[all known CRC-32 and CRC-64 variants](https://reveng.sourceforge.io/crc-catalogue/all.htm), as well as bring-your-own |
| 10 | +custom parameters, using SIMD intrinsics, |
10 | 11 | which can exceed [100GiB/s](#performance) on modern systems.
|
11 | 12 |
|
12 |
| -Supports acceleration on `aarch64`, `x86_64`, and `x86` architectures, plus has a safe non-accelerated table-based |
| 13 | +Supports acceleration on `aarch64`, `x86_64`, and `x86` architectures, plus has a safe non-accelerated table-based |
13 | 14 | software fallback for others.
|
14 | 15 |
|
15 | 16 | The [crc crate](https://crates.io/crates/crc) is ~0.5GiB/s by default, so this is
|
16 |
| -[up to >220X faster](#tldr-just-tell-me-how-to-turn-it-up-to-11-), and even the most conservative baseline settings |
17 |
| -are >27X. |
| 17 | +[up to >220X faster](#tldr-just-tell-me-how-to-turn-it-up-to-11-). |
18 | 18 |
|
19 | 19 | This is unique, not just because of the performance, but also because I couldn't find a single generic SIMD-accelerated
|
20 | 20 | implementation (in any language) which worked for _all_ known variants, using the
|
21 | 21 | [Rocksoft model](http://www.ross.net/crc/download/crc_v3.txt), especially the "non-reflected" variants.
|
22 | 22 |
|
23 |
| -So I wrote one. |
| 23 | +So I wrote one. :) |
24 | 24 |
|
25 | 25 | ## Other languages
|
26 | 26 |
|
@@ -144,7 +144,8 @@ assert_eq!(checksum.unwrap(), 0xcbf43926);
|
144 | 144 |
|
145 | 145 | ## Custom CRC Parameters
|
146 | 146 |
|
147 |
| -For cases where you need to use CRC variants not included in the predefined algorithms, you can define custom CRC parameters and use the `*_with_params` functions. |
| 147 | +For cases where you need to use CRC variants not included in the predefined algorithms, you can define custom CRC |
| 148 | +parameters and use the `*_with_params` functions. |
148 | 149 |
|
149 | 150 | ### Digest with custom parameters
|
150 | 151 |
|
|
0 commit comments