-
Notifications
You must be signed in to change notification settings - Fork 991
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: trade apk size to speed up launch time #22156
base: develop
Are you sure you want to change the base?
Conversation
Jenkins Builds
|
Hey @siddarthkay ! Thaks for this PR, I'm wondering, what was the previous bundle size and what is the new one? |
Nice finding @siddarthkay! The 400ms improvement can vary a lot per app it seems. This number comes from the Discord app from the linked RN PR right? If so, before merging this PR I think it's important we show evidence of sufficient improvement to justify the increase in bundle size. Let's say in 2-3 Android devices sufficiently different and averaging the test runs. For this, it seems that a QA won't be able to test this PR because we need precise measurements. |
531f1ce
to
19d202b
Compare
@siddarthkay @ilmotta If there are any insights on how to measure this parameter, I can allocate resources to help. I tried checking it via Profiler in Android Studio but couldn’t find any relevant data—most likely, it needs to be built locally (or maybe I just don’t know where to look). |
@churik : the measurement was done using @ilmotta : yes it was done on Expensify app too along with Discord. |
@ilmotta : yes it was done on Expensify app too along with Discord. I too will run some benchmarks locally. They key metric this approach improves is TTI ( Time To Interactivity ) at the cost of increase in APK size due to an uncompressed bundle. Hoping for the best in your benchmarks @siddarthkay 🙏🏼 To judge the tradeoff is worth it we will need a statistically significant result. I volunteer to help if you can provide the steps, as it would be quite important to verify in a diverse set of devices. |
Summary
This PR un compresses the android bundle which apparently improves Time to Interactivity by 400ms.
There is a slight tradeoff in bundle size and I want to measure that.
This technique was first discovered and accepted by RN team here : facebook/react-native#49449
Platforms
status: ready