Skip to content

Firebase significantly contributes to iOS app launch time #13232

Open
@mkj-is

Description

@mkj-is

Description

In Xcode Organizer in Xcode 16 beta we see Firebase is contributing 10 % to our app launch time, which is concerning.

Our custom measurements in production show the P90 for initialising Firebase SDK is 90 ms, P50 is 40 ms. We are using CocoaPods, but Firebase is statically linked.

These methods are responsible:

  • 3 %: FIRCLSContextInitialize + 876 (130 ms spent in this code path during a 1792 ms launch)
  • 2 %: __46+[APMAnalytics startWithAppID:origin:options:]_block_invoke + 1148 (90 ms spent in this code path during a 1220 ms launch)
  • 2 %: +[APMAEU appStoreRURL] + 160 (90 ms spent in this code path during a 3528 ms launch)
  • 1 %: -[APMUserDefaults objectForKey:] + 88 (90 ms spent in this code path during a 1186 ms launch)
  • 1 %: -[FIRInstallationsAPIService initWithAPIKey:projectID:heartbeatLogger:] + 92 (60 ms spent in this code path during a 1830 ms launch)
  • 1 %: APMIsScreenReportingEnabled + 28 (130 ms spent in this code path during a 2467 ms launch)

Might be related to #13223.

Screenshot 2024-07-04 at 13 04 54 Screenshot 2024-07-04 at 13 05 01 Screenshot 2024-07-04 at 13 05 16 Screenshot 2024-07-04 at 13 05 31 Screenshot 2024-07-04 at 13 05 42 Screenshot 2024-07-04 at 13 07 33

Reproducing the issue

Open Xcode Organizer (Xcode 16 beta) Launch reports for any app with significant number of users and see the stats.

Firebase SDK Version

10.22

Xcode Version

16.0

Installation Method

CocoaPods

Firebase Product(s)

Crashlytics, Performance

Targeted Platforms

iOS

Relevant Log Output

No response

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet
Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet
  FirebaseABTesting: e6e3c3e0e35813874f571d1b7bdae2aab319dd38
  FirebaseAnalytics: 8d0ff929c63b7f72260f332b86ccf569776b75d3
  FirebaseCore: 0326ec9b05fbed8f8716cddbf0e36894a13837f7
  FirebaseCoreExtension: 8a47811d0b155501559ef05d089518152a0a1677
  FirebaseCoreInternal: 910a81992c33715fec9263ca7381d59ab3a750b7
  FirebaseCrashlytics: e568d68ce89117c80cddb04073ab9018725fbb8c
  FirebaseInstallations: 91950fe859846fff0fbd296180909dd273103b09
  FirebaseMessaging: 9f71037fd9db3376a4caa54e5a3949d1027b4b6e
  FirebasePerformance: 095debad1fc8d7d73148a835fcaec9e528946166
  FirebaseRemoteConfig: 9f3935cefecd85d5b312192117f444957de24a75
  FirebaseRemoteConfigInterop: b25018791b204c0d78a90e394d6c62d9b1f22da8
  FirebaseSessions: c0939656253a1fa0e94ecc266ccf770cc8b33732
  FirebaseSharedSwift: 0274086954b1b2d5fd7e829eccc587044d72a4ba

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions