Fixed
Status Update
Comments
cc...@google.com <cc...@google.com>
ra...@google.com <ra...@google.com>
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit 419a3596320f0149bf574609b5fb057595fde37d
Author: Rahul Ravikumar <rahulrav@google.com>
Date: Wed Feb 09 11:46:57 2022
Add Profile Installer actions to add and remove skip files.
* This is important for Jetpack Macrobenchmarks, to avoid interference when using `CompilationMode.None()`.
* Added @SuppressWarnings("deprecation") for warnings on platform-dev.
Test: Added unit tests.
Bug: b/215740637
Change-Id: If2ae503e5f599e164d93eed0e9b4e6be832e6a53
Relnote: Add new APIs in `ProfileInstallReceiver` to get more consistent results with Macrobenchmarks when using baseline profiles.
M profileinstaller/profileinstaller/src/main/AndroidManifest.xml
M profileinstaller/profileinstaller/src/test/java/androidx/profileinstaller/ProfileInstallerTest.java
M profileinstaller/profileinstaller/api/restricted_current.txt
M profileinstaller/profileinstaller/api/public_plus_experimental_current.txt
M profileinstaller/profileinstaller/api/current.txt
M profileinstaller/profileinstaller/src/main/java/androidx/profileinstaller/ProfileInstallReceiver.java
M profileinstaller/profileinstaller/src/main/java/androidx/profileinstaller/ProfileInstaller.java
https://android-review.googlesource.com/1978112
Branch: androidx-main
commit 419a3596320f0149bf574609b5fb057595fde37d
Author: Rahul Ravikumar <rahulrav@google.com>
Date: Wed Feb 09 11:46:57 2022
Add Profile Installer actions to add and remove skip files.
* This is important for Jetpack Macrobenchmarks, to avoid interference when using `CompilationMode.None()`.
* Added @SuppressWarnings("deprecation") for warnings on platform-dev.
Test: Added unit tests.
Bug:
Change-Id: If2ae503e5f599e164d93eed0e9b4e6be832e6a53
Relnote: Add new APIs in `ProfileInstallReceiver` to get more consistent results with Macrobenchmarks when using baseline profiles.
M profileinstaller/profileinstaller/src/main/AndroidManifest.xml
M profileinstaller/profileinstaller/src/test/java/androidx/profileinstaller/ProfileInstallerTest.java
M profileinstaller/profileinstaller/api/restricted_current.txt
M profileinstaller/profileinstaller/api/public_plus_experimental_current.txt
M profileinstaller/profileinstaller/api/current.txt
M profileinstaller/profileinstaller/src/main/java/androidx/profileinstaller/ProfileInstallReceiver.java
M profileinstaller/profileinstaller/src/main/java/androidx/profileinstaller/ProfileInstaller.java
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit 0434487dacd97ba6fabbc8c704173a838d846381
Author: Rahul Ravikumar <rahulrav@google.com>
Date: Wed Feb 09 17:16:12 2022
Skip async profile installation for CompilationMode.None.
* Report warnings when the app is using an older version of Profile Installer.
Fixes: b/215740637
Test: Ran TrivialStartupBenchmark with `CompilationMode.Partial` and `CompilationMode.None`.
Change-Id: I1426ee77f14f0a6e7b7323764eb79ea9596d8927
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/CompilationMode.kt
https://android-review.googlesource.com/1977029
Branch: androidx-main
commit 0434487dacd97ba6fabbc8c704173a838d846381
Author: Rahul Ravikumar <rahulrav@google.com>
Date: Wed Feb 09 17:16:12 2022
Skip async profile installation for CompilationMode.None.
* Report warnings when the app is using an older version of Profile Installer.
Fixes:
Test: Ran TrivialStartupBenchmark with `CompilationMode.Partial` and `CompilationMode.None`.
Change-Id: I1426ee77f14f0a6e7b7323764eb79ea9596d8927
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/CompilationMode.kt
cc...@google.com <cc...@google.com> #4
Is this skip feature broken by us now reinstalling the app every iter? Reopening to check.
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit f6441f02252c32ab603713c906d35a142ce9fc8d
Author: Rahul Ravikumar <rahulrav@google.com>
Date: Mon May 09 13:48:49 2022
Avoid having to re-install package again for CompilationMode.None() every iteration.
* Also move writing the skip file to post re-install.
Fixes: b/231976084 , b/215740637
Test: SmallListStartupBenchmark
```
SmallListStartupBenchmark_startup[startup=COLD,compilation=None]
startupMs min 232.7, median 242.0, max 262.3
timeToInitialDisplayMs min 230.5, median 239.9, max 260.0
SmallListStartupBenchmark_startup[startup=COLD,compilation=BaselineProfile]
startupMs min 223.9, median 243.6, max 287.2
timeToInitialDisplayMs min 221.5, median 241.2, max 284.9
```
Change-Id: I3051e4bc69d9e12f9aa52d5acfeec3be710de4e6
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/CompilationMode.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt
https://android-review.googlesource.com/2093027
Branch: androidx-main
commit f6441f02252c32ab603713c906d35a142ce9fc8d
Author: Rahul Ravikumar <rahulrav@google.com>
Date: Mon May 09 13:48:49 2022
Avoid having to re-install package again for CompilationMode.None() every iteration.
* Also move writing the skip file to post re-install.
Fixes:
Test: SmallListStartupBenchmark
```
SmallListStartupBenchmark_startup[startup=COLD,compilation=None]
startupMs min 232.7, median 242.0, max 262.3
timeToInitialDisplayMs min 230.5, median 239.9, max 260.0
SmallListStartupBenchmark_startup[startup=COLD,compilation=BaselineProfile]
startupMs min 223.9, median 243.6, max 287.2
timeToInitialDisplayMs min 221.5, median 241.2, max 284.9
```
Change-Id: I3051e4bc69d9e12f9aa52d5acfeec3be710de4e6
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/CompilationMode.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt
Description
BaselineProfiles will be installed by ProfileInstaller asynchronously in CompilationMode.None, which can significantly interfere with longer benchmarks that don't expect them to be enabled.
Instead, we should explicitly tell the ProfileInstaller to skip via a file (or broadcast, prior to killing the app), to minimize this interference.