Skip to content

Significant iOS binary size increase with Rust 1.50 #3925

Closed
@rfk

Description

@rfk

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions