Fixed
Status Update
Comments
cc...@google.com <cc...@google.com>
ra...@google.com <ra...@google.com>
ap...@google.com <ap...@google.com> #2
Ignore this msg
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit e7b4b06e67951ab47157d06ff314a5c8b2e8fdc6
Author: Andrei Shikov <ashikov@google.com>
Date: Mon Jan 08 15:54:51 2024
Count recursive local declarations as captures
Local declarations were already counted as captures for composable lambdas before, but the traversal ordering missed the recursive captures, converting some of them into singletons.
Test: Compiler test
Fixes: 318745941
Change-Id: I9097d1be71fb67b73e5027f723fd187c4272f6b4
M compose/compiler/compiler-hosted/integration-tests/src/androidUnitTest/kotlin/androidx/compose/compiler/plugins/kotlin/ComposeBytecodeCodegenTest.kt
M compose/compiler/compiler-hosted/integration-tests/src/jvmTest/kotlin/androidx/compose/compiler/plugins/kotlin/AbstractCodegenTest.kt
M compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposerLambdaMemoization.kt
https://android-review.googlesource.com/2900890
Branch: androidx-main
commit e7b4b06e67951ab47157d06ff314a5c8b2e8fdc6
Author: Andrei Shikov <ashikov@google.com>
Date: Mon Jan 08 15:54:51 2024
Count recursive local declarations as captures
Local declarations were already counted as captures for composable lambdas before, but the traversal ordering missed the recursive captures, converting some of them into singletons.
Test: Compiler test
Fixes: 318745941
Change-Id: I9097d1be71fb67b73e5027f723fd187c4272f6b4
M compose/compiler/compiler-hosted/integration-tests/src/androidUnitTest/kotlin/androidx/compose/compiler/plugins/kotlin/ComposeBytecodeCodegenTest.kt
M compose/compiler/compiler-hosted/integration-tests/src/jvmTest/kotlin/androidx/compose/compiler/plugins/kotlin/AbstractCodegenTest.kt
M compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/lower/ComposerLambdaMemoization.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.