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
{{ message }}
Repository navigation
Significant iOS binary size increase with Rust 1.50 #3925
As noted in mozilla-mobile/firefox-ios#8044 (comment), the v73.0.0 release of application-services has significantly increased compiled binary size (by nearly 30%, from 35M to 45M).
Some of that increase is due to the inclusion of Nimbus, but actually the largest contributor seems to be the switch from Rust 1.43 to Rust 1.50. Here's the size of a local build of v73.0.0 done using Rust 1.50, which matches what we see in the release artifact:
[rfk] repos/mozilla/application-services (git)-[tags/v73.0.0] % du -hs Carthage/Build/iOS/MozillaAppServices.framework/MozillaAppServices
46M Carthage/Build/iOS/MozillaAppServices.framework/MozillaAppServices
Here's the same when built with Rust 1.43, the toolchain we used for previous releases:
[rfk] repos/mozilla/application-services (git)-[tags/v73.0.0] % du -hs Carthage/Build/iOS/MozillaAppServices.framework/MozillaAppServices
40M Carthage/Build/iOS/MozillaAppServices.framework/MozillaAppServices
I confirmed that if I manually remove Nimbus from the build, we get back down to around 35M, which was approximately the size of the previous release.
┆Issue is synchronized with this Jira Task
┆Epic: [2021] Completed unparented
Activity
rfk commentedon Mar 12, 2021
(Which, +5M still seems like a lot for Nimbus to be honest, but that's a separate question...)
dmose commentedon Mar 16, 2021
Random thoughts:
cargo bloaton both versions would give us useful insightdmose commentedon Mar 16, 2021
Other things to try:
dmose commentedon Mar 16, 2021
@rfk since you've got both builds around, can you try running
cargo bloatto see if it yields any interesting info?dmose commentedon Mar 17, 2021
If the problem is LLVM-upgrade-related, interestingly, LLVM12 has landed in nightly rustc, so maybe that'll change things yet again...
dmose commentedon Mar 17, 2021
LLVM links, including release notes
dmose commentedon Mar 17, 2021
cargo-bisect-rustc might help us sort this out too...