Skip to content

Significant iOS binary size increase with Rust 1.50 #907

Closed
@data-sync-user

Description

@data-sync-user

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.

Metadata

Metadata

Assignees

No one assigned

    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