diff --git a/benchmark/src/main/kotlin/com/android/developers/androidify/benchmark/PromptBenchmark.kt b/benchmark/src/main/kotlin/com/android/developers/androidify/benchmark/PromptBenchmark.kt index cfe51917..da682b95 100644 --- a/benchmark/src/main/kotlin/com/android/developers/androidify/benchmark/PromptBenchmark.kt +++ b/benchmark/src/main/kotlin/com/android/developers/androidify/benchmark/PromptBenchmark.kt @@ -58,13 +58,16 @@ class PromptBenchmark { metrics = listOf( StartupTimingMetric(), FrameTimingMetric(), - MemoryUsageMetric(MemoryUsageMetric.Mode.Max), + MemoryUsageMetric(MemoryUsageMetric.Mode.Max, subMetrics = MemoryUsageMetric.SubMetric.entries), PowerMetric(PowerMetric.Type.Power()), jitCompilationMetric, classInitMetric, ), startupMode = StartupMode.COLD, iterations = 5, + setupBlock = { + killProcess() + } ) { uiAutomator { startApp(packageName = packageName) diff --git a/benchmark/src/main/kotlin/com/android/developers/androidify/benchmark/StartupBenchmark.kt b/benchmark/src/main/kotlin/com/android/developers/androidify/benchmark/StartupBenchmark.kt index f10bcebf..640e4357 100644 --- a/benchmark/src/main/kotlin/com/android/developers/androidify/benchmark/StartupBenchmark.kt +++ b/benchmark/src/main/kotlin/com/android/developers/androidify/benchmark/StartupBenchmark.kt @@ -27,6 +27,8 @@ import androidx.benchmark.macro.StartupTimingMetric import androidx.benchmark.macro.junit4.MacrobenchmarkRule import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.uiautomator.uiAutomator +import com.android.developers.androidify.classInitMetric +import com.android.developers.androidify.jitCompilationMetric import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith @@ -42,20 +44,20 @@ class StartupBenchmark { @Test fun startupBaselineProfile() = startup(CompilationMode.DEFAULT) - - @Test - fun startupFullCompilation() = startup(CompilationMode.Full()) - @OptIn(ExperimentalMetricApi::class) private fun startup(compilationMode: CompilationMode) = benchmarkRule.measureRepeated( packageName = "com.android.developers.androidify", metrics = listOf( StartupTimingMetric(), FrameTimingMetric(), - MemoryUsageMetric(MemoryUsageMetric.Mode.Max), - PowerMetric(PowerMetric.Type.Power()), + MemoryUsageMetric(MemoryUsageMetric.Mode.Max, subMetrics = MemoryUsageMetric.SubMetric.entries), + jitCompilationMetric, + classInitMetric, ), - iterations = 10, + setupBlock = { + killProcess() + }, + iterations = 5, compilationMode = compilationMode, startupMode = StartupMode.COLD, ) { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1d7da77e..4c2adc58 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -16,8 +16,8 @@ activityCompose = "1.13.0" adaptive = "1.2.0" apksig = "9.2.1" appcompat = "1.7.1" -baselineprofile = "1.5.0-alpha06" -benchmarkMacroJunit4 = "1.4.1" +baselineprofile = "1.6.0-SNAPSHOT" +benchmarkMacroJunit4 = "1.6.0-SNAPSHOT" camerax = "1.6.1" coilCompose = "3.4.0" coilGif = "3.4.0" @@ -57,7 +57,7 @@ okhttp = "5.3.2" playServicesWearable = "20.0.1" playServicesBaseTesting = "16.2.0" poseDetection = "18.0.0-beta5" -profileinstaller = "1.4.1" +profileinstaller = "1.5.0-SNAPSHOT" retrofit = "3.0.0" robolectric = "4.16.1" spotless = "8.6.0" diff --git a/settings.gradle.kts b/settings.gradle.kts index da670135..f6f6d236 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -9,6 +9,7 @@ pluginManagement { } mavenCentral() gradlePluginPortal() + maven { url = uri("https://androidx.dev/snapshots/builds/16349408/artifacts/repository") } } } dependencyResolutionManagement { @@ -16,6 +17,7 @@ dependencyResolutionManagement { repositories { google() mavenCentral() + maven { url = uri("https://androidx.dev/snapshots/builds/16349408/artifacts/repository") } maven { url = uri("https://jitpack.io") content {