|
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