-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Major performance hits/losses through code push app updates #2448
Description
Steps to Reproduce (using the new architecture of react-native)
- Release a new app version on Google Play, App Store or Testflight
- Measure and note startup time and general app interaction performance
- Change tiny bits and pieces or more code on the JavaScript/TypeScript side
- Release a new a new code push in-app-update to the beforehand released app
- Redo the measurements outlined in step 2
- Notice a major difference in startup time and general performance (app size also increases by some MBs, but that happened already before the new architecture)
Expected Behavior
The performance in terms or startup time or general interaction and processing performance should not be affected by code push updates at all.
Actual Behavior
When installing a code push update the startup and interaction/processing speeds are hit really badly. This is even more noticeable on Android devices. For my particular use case, the difference in app startup time is as follows:
Android (non-high-performance device)
Old RN architecture
Startup time before any code push update: ~10.22 seconds
Startup time after a single code push update: ~10.29 seconds
New RN architecture
Startup time before any code push update: ~09.08 seconds
Startup time after a single code push update: ~20.01 seconds
iOS/iPadOS
Old RN architecture
Startup time before any code push update: ~01.05 seconds
Startup time after a single code push update: ~01.07 seconds
New RN architecture
Startup time before any code push update: ~00.99 seconds
Startup time after a single code push update: ~01.53 seconds
Reproducible Demo
Not relevant for that kind of issue.
Environment
- react-native-code-push version: 7.1.0
- react-native version: 0.71.3
- iOS/Android version: iOS 15.7.1 and iPadOS 16.3.1 | Android 7.1.2
- Does this reproduce on a debug build or release build: Release build (not tested in debug build)
- Does this reproduce on a simulator, or only on a physical device: Physical devices (not tested on a simulator)