fix(benchmark): rework baseline profile benchmark

This commit is contained in:
Harsh Shandilya 2023-06-10 02:55:32 +05:30
parent 7c59130af9
commit 0d78cb4112
No known key found for this signature in database

View file

@ -8,6 +8,7 @@ package dev.msfjarvis.claw.benchmark
import androidx.benchmark.macro.BaselineProfileMode import androidx.benchmark.macro.BaselineProfileMode
import androidx.benchmark.macro.CompilationMode import androidx.benchmark.macro.CompilationMode
import androidx.benchmark.macro.FrameTimingMetric
import androidx.benchmark.macro.StartupMode import androidx.benchmark.macro.StartupMode
import androidx.benchmark.macro.StartupTimingMetric import androidx.benchmark.macro.StartupTimingMetric
import androidx.benchmark.macro.junit4.MacrobenchmarkRule import androidx.benchmark.macro.junit4.MacrobenchmarkRule
@ -28,27 +29,27 @@ class BaselineProfileBenchmark {
} }
@Test @Test
fun startupNoCompilation() { fun noCompilation() {
startup(CompilationMode.None()) exploreUI(CompilationMode.None())
} }
@Test @Test
fun startupBaselineFullyCompiled() { fun fullyCompiled() {
startup(CompilationMode.Full()) exploreUI(CompilationMode.Full())
} }
@Test @Test
fun startupBaselineProfile() { fun baselineProfile() {
startup(CompilationMode.Partial(baselineProfileMode = BaselineProfileMode.Require)) exploreUI(CompilationMode.Partial(baselineProfileMode = BaselineProfileMode.Require))
} }
private fun startup(compilationMode: CompilationMode) { private fun exploreUI(compilationMode: CompilationMode) {
benchmarkRule.measureRepeated( benchmarkRule.measureRepeated(
packageName = PACKAGE_NAME, packageName = PACKAGE_NAME,
metrics = listOf(StartupTimingMetric()), metrics = listOf(FrameTimingMetric(), StartupTimingMetric()),
iterations = 10, compilationMode = compilationMode,
startupMode = StartupMode.COLD, startupMode = StartupMode.COLD,
compilationMode = compilationMode iterations = 10,
) { ) {
device.executeShellCommand("pm clear $PACKAGE_NAME") device.executeShellCommand("pm clear $PACKAGE_NAME")