aes: enable ARMv8 backend by default; MSRV 1.72#395
Merged
Conversation
Removes `cfg(aes_armv8)` and instead enables it by default. This means it "just works" without any additional configuration. The backend is MSRV 1.72, so for consistency's sake bumps the crate's MSRV to 1.72, i.e. the MSRV where it will work consistently on all platforms. We've done varying MSRVs for specific features in the past, but that gets complicated and confusing (e.g. if we were to say the crate's MSRV varies by target). Benchmarks: test aes128_decrypt_block ... bench: 839 ns/iter (+/- 32) = 19528 MB/s test aes128_decrypt_blocks ... bench: 858 ns/iter (+/- 58) = 19095 MB/s test aes128_encrypt_block ... bench: 839 ns/iter (+/- 34) = 19528 MB/s test aes128_encrypt_blocks ... bench: 855 ns/iter (+/- 57) = 19162 MB/s test aes128_new ... bench: 72 ns/iter (+/- 2) test aes192_decrypt_block ... bench: 997 ns/iter (+/- 47) = 16433 MB/s test aes192_decrypt_blocks ... bench: 1,002 ns/iter (+/- 56) = 16351 MB/s test aes192_encrypt_block ... bench: 990 ns/iter (+/- 31) = 16549 MB/s test aes192_encrypt_blocks ... bench: 1,003 ns/iter (+/- 32) = 16334 MB/s test aes192_new ... bench: 68 ns/iter (+/- 2) test aes256_decrypt_block ... bench: 1,163 ns/iter (+/- 34) = 14087 MB/s test aes256_decrypt_blocks ... bench: 1,151 ns/iter (+/- 65) = 14234 MB/s test aes256_encrypt_block ... bench: 1,166 ns/iter (+/- 38) = 14051 MB/s test aes256_encrypt_blocks ... bench: 1,155 ns/iter (+/- 81) = 14185 MB/s test aes256_new ... bench: 91 ns/iter (+/- 4)
newpavlov
approved these changes
Jan 7, 2024
|
Would be great to see a new crate version published with this change 🚀 |
Member
Author
|
It's a breaking change per our MSRV policy. It won't be available until |
|
What prevents you from releasing 0.9.0 today? |
Member
Author
|
A whole pile of prerelease crates it's built on |
|
I see, makes sense. Is there an ETA by any chance? |
Member
Author
|
We're in a new release cycle that involves hundreds of crates. As a rough estimate I'd say "probably the first half of 2024", but keep in mind the work is being done by unpaid volunteers in their spare time so we don't exactly have a definitive schedule or estimates |
|
Totally understandable, thanks a lot! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Removes
cfg(aes_armv8)and instead enables it by default. This means it "just works" without any additional configuration.The backend is MSRV 1.72, so for consistency's sake bumps the crate's MSRV to 1.72, i.e. the MSRV where it will work consistently on all platforms. We've done varying MSRVs for specific features in the past, but that gets complicated and confusing (e.g. if we were to say the crate's MSRV varies by target).
Benchmarks