Use crc-fast v1.4.0 for 2X performance boost#4257
Use crc-fast v1.4.0 for 2X performance boost#4257onethumb wants to merge 2 commits intosmithy-lang:mainfrom
crc-fast v1.4.0 for 2X performance boost#4257Conversation
Doubles throughput to >100GiB/s on modern x86_64 systems (Intel Ice Lake, AMD Zen4, and later).
Used: ./gradlew aws:sdk:cargoUpdateAllLockfiles
|
Pinging @landonxjames for review. Thanks! 👍 |
|
Consumers don't actually depend on these lockfiles—so this doesn't actually impact anything right? More of a "test that everything builds with 1.4"?
edit: I see that this is happening internally via rustc_version gating. I think the main reason to avoid merging this, at least for the next few weeks, is that it prevents a consumer from forcing the 1.3.0 dependency in the event they are broken by the 1.4.0 changes. |
Is the "next few weeks" timeline just to give things (Rust 1.89.0, this package, etc) time to shake out? Or is there some other change happening in a few weeks that would impact this? (I'm not in any sort of rush, just trying to make sure this doesn't slip off my radar if it languishes). FWIW, our GH Actions workflows have good version (1.81, 1.89, stable, nightly) and architecture (x86, x86_64, aarch64, powerpc) coverage, and the internal test coverage is extensive, so I think the odds of breakage are low. |
|
Closing in favor of #4297 |
Motivation and Context
crc-fastv1.4.0 doubles throughput to >100GiBs on modern x86_64 systems (Intel Ice Lake, AMD Zen4, and later) when using Rust 1.89.0+ and its stabilized support for AVX512 intrinsics.It uses conditional compilation to maintain backwards compatibility and performance for Rust versions prior to 1.89.0.
Description
crc-fastlibrary../gradlew aws:sdk:cargoUpdateAllLockfiles.Testing
Drop-in, non-breaking minor version update. Existing tests pass.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.