Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use ring crypto for 10-20% CPU utlilization gain #1914

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

luben
Copy link
Contributor

@luben luben commented Feb 20, 2021

Computing SigV4 signatures uses SHA2 for the derivation. The Sha2 crate
does not have architeture optimizations. By using Ring, we now have them
and also they are selected at runtime. This manifests in 10-20% reduction
of CPU utlilization for production workloads.

A lot of rusoto users already have transitive dependency on ring
through rustls, so this removes one more dependency for them.

Computing SigV4 signatures uses SHA2 for the derivation. The Sha2 crate
does not have architeture optimizations. By using Ring, we now have them
and also they are selected at runtime. This manifests in 10-20% reduction
of CPU utlilization for production workloads.

A lot of `rusoto` users already have transitive dependency on `ring`
through `rustls`, so this removes one more dependency for them.
@houqp
Copy link

houqp commented Mar 3, 2021

would love to see this merged as well

@benesch
Copy link
Contributor

benesch commented Jul 26, 2021

So sorry, but I don't really want to rock the boat here since rusoto is in maintenance mode. Based on a quick read I think the new official AWS SDK (https://github.com/awslabs/aws-sdk-rust) is using ring for signature computation.

@luben
Copy link
Contributor Author

luben commented Jul 28, 2021

@benesch , yes, but the official SDK has a long way to be production ready, it is still in alpha.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants