Skip to content

Commit f7ac239

Browse files
committed
Update for Rust v1.89+
1 parent d93364c commit f7ac239

File tree

4 files changed

+15
-10
lines changed

4 files changed

+15
-10
lines changed

.github/workflows/tests.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ jobs:
1313
os: [ubuntu-latest, ubuntu-22.04-arm, ubuntu-24.04-arm, macos-latest]
1414
rust-toolchain:
1515
- "1.81" # minimum for this crate
16+
- "1.89" # when VPCLMULQDQ was stabilized
1617
- "stable"
1718
- "nightly"
1819
runs-on: ${{ matrix.os }}
@@ -44,6 +45,7 @@ jobs:
4445
target: [i586-unknown-linux-gnu, i686-unknown-linux-gnu]
4546
rust-toolchain:
4647
- "1.81" # minimum for this crate
48+
- "1.89" # when VPCLMULQDQ was stabilized
4749
- "stable"
4850
- "nightly"
4951
steps:
@@ -69,6 +71,7 @@ jobs:
6971
target: [powerpc-unknown-linux-gnu, powerpc64-unknown-linux-gnu]
7072
rust-toolchain:
7173
- "1.81" # minimum for this crate
74+
- "1.89" # when VPCLMULQDQ was stabilized
7275
- "stable"
7376
- "nightly"
7477
steps:

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Changes for crc-fast-rust
22

33
## [1.4.0](https://github.com/awesomized/crc-fast-rust/releases/tag/1.4.0) - 2025-08-08
4+
* [Enable VPCLMULQDQ support on Rust 1.89+](https://github.com/awesomized/crc-fast-rust/pull/10)
45
* [Support custom CRC parameters](https://github.com/awesomized/crc-fast-rust/pull/11)
56
* [Add checksum command-line utility](https://github.com/awesomized/crc-fast-rust/pull/12)
67
* [Remove bindgen](https://github.com/awesomized/crc-fast-rust/pull/13)

Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ license = "MIT OR Apache-2.0"
77
keywords = ["crc", "checksum", "simd", "accelerated", "fast"]
88
categories = ["algorithms", "encoding", "hardware-support"]
99
repository = "https://github.com/awesomized/crc-fast-rust"
10-
description = "Fast, hardware-accelerated CRC-32 and CRC-64 checksum calculation using SIMD"
10+
description = "World's fastest generic CRC32 and CRC64 calculator using SIMD. Supplies a C-compatible shared library for use in other languages."
1111
readme = "README.md"
1212

1313
# 1.69.0 added VPCLMULQDQ x86 detection support, 1.70.0 added LLVM 16 which supports PMULL2 on Aarch64
@@ -44,8 +44,8 @@ harness = false
4444
[features]
4545
alloc = []
4646

47-
# the features below aren't in use, are deprecated, and will be removed in the next MAJOR version
48-
vpclmulqdq = [] # depreated, VPCLMULQDQ stabilized in Rust 1.89.0
47+
# the features below are deprecated, aren't in use, and will be removed in the next MAJOR version (v2)
48+
vpclmulqdq = [] # deprecated, VPCLMULQDQ stabilized in Rust 1.89.0
4949
optimize_crc32_auto = [] # deprecated
5050
optimize_crc32_neon_eor3_v9s3x2e_s3 = [] # deprecated
5151
optimize_crc32_neon_v12e_v1 = [] # deprecated

README.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,22 @@
55
[![Latest Version](https://img.shields.io/crates/v/crc-fast.svg)](https://crates.io/crates/crc-fast)
66
[![Documentation](https://img.shields.io/badge/api-rustdoc-blue.svg)](https://docs.rs/crc-fast)
77

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,
1011
which can exceed [100GiB/s](#performance) on modern systems.
1112

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
1314
software fallback for others.
1415

1516
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-).
1818

1919
This is unique, not just because of the performance, but also because I couldn't find a single generic SIMD-accelerated
2020
implementation (in any language) which worked for _all_ known variants, using the
2121
[Rocksoft model](http://www.ross.net/crc/download/crc_v3.txt), especially the "non-reflected" variants.
2222

23-
So I wrote one.
23+
So I wrote one. :)
2424

2525
## Other languages
2626

@@ -144,7 +144,8 @@ assert_eq!(checksum.unwrap(), 0xcbf43926);
144144

145145
## Custom CRC Parameters
146146

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.
148149

149150
### Digest with custom parameters
150151

0 commit comments

Comments
 (0)