Status Update
Comments
am...@google.com <am...@google.com>
am...@google.com <am...@google.com> #2
Saw this as well on Mokey running recent tot master build.
First benchmark only shows jit happening
Benchmark in the middle of the suite shows it
I verified during the run that the platform still considers the app compiled:
> adb shell dumpsys package dexopt | grep -A1 androidx.compose.ui.benchmark.test
[androidx.compose.ui.benchmark.test]
path: /data/app/~~E9h-5MtFh1GXjXCq3kQo8g==/androidx.compose.ui.benchmark.test-jOZKJEy6zBL_SpFBJqlisA==/base.apk
arm64: [status=speed] [reason=cmdline] [primary-abi]
[location is /data/app/~~E9h-5MtFh1GXjXCq3kQo8g==/androidx.compose.ui.benchmark.test-jOZKJEy6zBL_SpFBJqlisA==/oat/arm64/base.odex]
Disabling method tracing works around this issue, but we don't seem to see it
My guess is that when turning off method tracing, something fails to be cleaned up, and we don't get to keep using the odex/art files from the speed compilation.
am...@google.com <am...@google.com> #3
Appears to be an ART regression starting in API 34
Bramble, API 33
google/bramble/bramble:13/TQ3A.230705.001/10216780:userdebug/dev-keys
112,994 ns Trace Method Trace ModifiersBenchmark.baseReuse[Modifier_10x]
129,934 ns Trace Method Trace ModifiersBenchmark.fullReuse[Modifier_10x]
Bramble, API 34
google/bramble/bramble:14/UP1A.231005.007/10754064:userdebug/dev-keys
77,300 ns Trace Method Trace ModifiersBenchmark.baseReuse[Modifier_10x]
395,151 ns Trace Method Trace ModifiersBenchmark.fullReuse[Modifier_10x]
Will disable method tracing by default on API 34, and file a bug to ART.
lb...@gmail.com <lb...@gmail.com> #4
Filed art bug here:
Description
That's even though you already send the APK files to be installed, and the OS already finds the package name anyway during install procedure (to check if the app is already installed, for example).
Please allow to avoid this parameter.
I'm talking about this:
I ask it to be optional and still let ` params.setInstallReason(PackageManager.INSTALL_REASON_USER)` work well, as it gets the package name anyway.