-
Notifications
You must be signed in to change notification settings - Fork 1.3k
For #4064: Replace prerelease R8 with improved Kotlin coroutines library #7153
For #4064: Replace prerelease R8 with improved Kotlin coroutines library #7153
Conversation
…oroutines library
a5cbbf0
to
e4646ca
Compare
Codecov Report
@@ Coverage Diff @@
## master #7153 +/- ##
=========================================
Coverage 18.93% 18.93%
Complexity 436 436
=========================================
Files 288 288
Lines 11288 11288
Branches 1536 1536
=========================================
Hits 2137 2137
Misses 8989 8989
Partials 162 162 Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@colintheshots What is the expected performance impact for this change? As you mentioned, the new coroutines version has performance improvements and the Dispatcher will no longer be an issue (but it wasn't with the current hack). However, I'm wondering if there will be a performance impact because we're no longer using the newest version of R8 and if that impact will be positive or negative.
Note: an additional assumption of mine is that there are no functional changes.
@@ -4,9 +4,8 @@ | |||
|
|||
object Versions { | |||
const val kotlin = "1.3.30" | |||
const val coroutines = "1.3.1" | |||
const val coroutines = "1.3.3" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No action needed. To state my understanding, in the coroutines CHANGELOG, this fix is:
Avoid ServiceLoader for loading Dispatchers.Main (#1572, #1557, #878, #1606).
sgtm.
I believe it should be fine. The version of R8 we were using was many months old and only slightly newer than the released version. It was so close to making the release that several Google Developer Advocates believed the fix was in the release. There was one other library using a ServiceLoader. We can look for any impact on cold start tonight in the Nimbledroid reports. |
profile |
|
@mcomella 1770ms seems close to the current Nightly. https://nimbledroid.com/my_apps/org.mozilla.fenix.nightly?p=281aeb00-5223-4746-be25-be2ef36d2bb7#Scenario%20Overview |
There are no UI changes here. The only change is replacing the pre-release R8 version with a newer Kotlin coroutines library that no longer uses slow ServiceLoaders on the Main thread.
Pull Request checklist
After merge
To download an APK when reviewing a PR: