[go: nahoru, domu]

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()),