Fix Activity macrobenchmarks
Test: ActivityStartBenchmark
Fixes: 329854958
* Fixes debuggable variant selection
* Uses more conventional class name (avoid macro in class)
* Uses CompilationMode.Default to capture baseline profile perf, avoid
unrealistic Full class init costs
Change-Id: Ibfaf925e6a03d8c3fb455edb73c53b2914e4aa84
diff --git a/activity/integration-tests/macrobenchmark/build.gradle b/activity/integration-tests/macrobenchmark/build.gradle
index a1b080f..f60cc3f 100644
--- a/activity/integration-tests/macrobenchmark/build.gradle
+++ b/activity/integration-tests/macrobenchmark/build.gradle
@@ -29,6 +29,11 @@
experimentalProperties["android.experimental.self-instrumenting"] = true
}
+// Create a release build type and make sure it's the only one enabled.
+// This is needed because we benchmark the release build type only.
+android.buildTypes { release {} }
+androidComponents { beforeVariants(selector().all()) { enabled = buildType == 'release' } }
+
dependencies {
implementation(project(":benchmark:benchmark-junit4"))
implementation(project(":benchmark:benchmark-macro-junit4"))
diff --git a/activity/integration-tests/macrobenchmark/src/main/java/androidx/activity/integration/macrobenchmark/ActivityStartMacroBenchmark.kt b/activity/integration-tests/macrobenchmark/src/main/java/androidx/activity/integration/macrobenchmark/ActivityStartBenchmark.kt
similarity index 94%
rename from activity/integration-tests/macrobenchmark/src/main/java/androidx/activity/integration/macrobenchmark/ActivityStartMacroBenchmark.kt
rename to activity/integration-tests/macrobenchmark/src/main/java/androidx/activity/integration/macrobenchmark/ActivityStartBenchmark.kt
index 2bf9360..f28ba33 100644
--- a/activity/integration-tests/macrobenchmark/src/main/java/androidx/activity/integration/macrobenchmark/ActivityStartMacroBenchmark.kt
+++ b/activity/integration-tests/macrobenchmark/src/main/java/androidx/activity/integration/macrobenchmark/ActivityStartBenchmark.kt
@@ -27,14 +27,14 @@
import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
-class ActivityStartMacroBenchmark {
+class ActivityStartBenchmark {
@get:Rule
val benchmarkRule = MacrobenchmarkRule()
@Test
fun startup() = benchmarkRule.measureStartup(
- compilationMode = CompilationMode.Full(),
+ compilationMode = CompilationMode.DEFAULT,
startupMode = StartupMode.COLD,
packageName = "androidx.activity.integration.macrobenchmark.target",
metrics = listOf(StartupTimingMetric()),