Custom startup benchmark

Change-Id: Ib402e5d818843cd305344be8283c7fa135291abe
pull/458/head
mlykotom 2 years ago
parent 8f73117f6a
commit 53648921bc

@ -90,3 +90,32 @@ abstract class AbstractStartupBenchmark(private val startupMode: StartupMode) {
forYouWaitForContent()
}
}
class StartupBenchmark {
@get:Rule
val benchmarkRule = MacrobenchmarkRule()
@Test
fun startupNoCompilation() = startup(CompilationMode.None())
@Test
fun startupBaselineProfile() = startup(CompilationMode.Partial(baselineProfileMode = Require))
@Test
fun startupFullCompilation() = startup(CompilationMode.Full())
private fun startup(compilationMode: CompilationMode) = benchmarkRule.measureRepeated(
packageName = PACKAGE_NAME,
metrics = listOf(StartupTimingMetric()),
compilationMode = compilationMode,
iterations = 30,
startupMode = COLD,
setupBlock = {
pressHome()
}
) {
startActivityAndWait()
// Waits until the content is ready to capture Time To Full Display
forYouWaitForContent()
}
}

Loading…
Cancel
Save