Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Added memory metrics like Swap and Bitmap memory
  • Loading branch information
AjeshRPai committed Sep 16, 2026
commit ca8e2f826b190c155c0363689af1380c4ab49a0f
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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,
) {
Expand Down
6 changes: 3 additions & 3 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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"
Expand Down
2 changes: 2 additions & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,15 @@ pluginManagement {
}
mavenCentral()
gradlePluginPortal()
maven { url = uri("https://androidx.dev/snapshots/builds/16349408/artifacts/repository") }
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url = uri("https://androidx.dev/snapshots/builds/16349408/artifacts/repository") }
maven {
url = uri("https://jitpack.io")
content {
Expand Down
Loading