You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The AWS Rust SDK recently updated our default version of rustls to one that uses aws-lc-rs as the crypto provider. This has caused a substantial (consistently ~4MB in my tests) increase in binary size. This has caused some pain points for customers: smithy-lang/smithy-rs#4049. In our debugging using cargo-bloat it appears that much of this size comes from aws-lc functions as can be seen in the output below from a small test application.
I'm afraid I don't have many suggestions for a full solution to this. I suspect that since aws-lc is a mostly C based dependency that much of rustc's dead code elimination doesn't work for it so we are getting stuck pulling in functions we aren't actually using. The cheeky suggestion there is rewrite it in Rust, but that isn't a reasonable solution on any kind of short timescale.
Potentially splitting the various algorithms into their own crates could help rustc clean up better?
The text was updated successfully, but these errors were encountered:
Problem:
The AWS Rust SDK recently updated our default version of
rustls
to one that usesaws-lc-rs
as the crypto provider. This has caused a substantial (consistently ~4MB in my tests) increase in binary size. This has caused some pain points for customers: smithy-lang/smithy-rs#4049. In our debugging using cargo-bloat it appears that much of this size comes fromaws-lc
functions as can be seen in the output below from a small test application.Solution:
I'm afraid I don't have many suggestions for a full solution to this. I suspect that since
aws-lc
is a mostly C based dependency that much ofrustc
's dead code elimination doesn't work for it so we are getting stuck pulling in functions we aren't actually using. The cheeky suggestion there is rewrite it in Rust, but that isn't a reasonable solution on any kind of short timescale.Potentially splitting the various algorithms into their own crates could help
rustc
clean up better?The text was updated successfully, but these errors were encountered: