Add more benchmarks for Duckduckgo app

^KT-49921 In Progress
This commit is contained in:
Yahor Berdnikau
2021-12-27 16:46:17 +01:00
committed by Space
parent 906a351a81
commit ee9965a139
3 changed files with 25 additions and 6 deletions
@@ -8,13 +8,14 @@ package org.jetbrains.kotlin.gradle.benchmark
class Scenario {
lateinit var title: String
var warmups = 3
var warmups = 6
var iterations = 10
val tasks = mutableListOf<String>()
val gradleArgs = mutableListOf<String>()
val cleanupTasks = mutableListOf<String>()
val applyAbiChange = mutableListOf<String>()
val applyNonAbiChange = mutableListOf<String>()
val applyAndroidResourceValueChange = mutableListOf<String>()
fun runTasks(vararg tasks: String) {
this.tasks.addAll(tasks)
@@ -38,6 +39,10 @@ class Scenario {
fun applyNonAbiChangeTo(pathToClassFile: String) {
applyNonAbiChange.add(pathToClassFile)
}
fun applyAndroidResourceValueChange(pathToResourceFile: String) {
applyAndroidResourceValueChange.add(pathToResourceFile)
}
}
class ScenarioSuite {
@@ -303,6 +303,7 @@ abstract class BenchmarkTemplate(
| ${if (gradleArgs.isNotEmpty()) "gradle-args = [${gradleArgs.joinToString { "\"$it\"" }}]" else ""}
| ${if (cleanupTasks.isNotEmpty()) "cleanup-tasks = [${cleanupTasks.joinToString { "\"$it\"" }}]" else ""}
| ${if (applyAbiChange.isNotEmpty()) "apply-abi-change-to = [${applyAbiChange.joinToString { "\"$it\"" }}]" else ""}
| ${if (applyAndroidResourceValueChange.isNotEmpty()) "apply-android-resource-value-change-to = [${applyAndroidResourceValueChange.joinToString { "\"$it\"" }}]" else ""}
|}
""".trimMargin()
@@ -24,8 +24,6 @@ runAllBenchmarks(
suite {
scenario {
title = "Clean build"
warmups = 3
iterations = 7
useGradleArgs("--no-build-cache")
runTasks("assembleDebug")
@@ -33,14 +31,29 @@ runAllBenchmarks(
}
scenario {
title = "Incremental build with ABI change"
warmups = 3
iterations = 7
title = "Incremental build with ABI change in common ViewModelFactory"
useGradleArgs("--no-build-cache")
runTasks("assembleDebug")
applyAbiChangeTo("common/src/main/java/com/duckduckgo/app/global/ViewModelFactory.kt")
}
scenario {
title = "Incremetal build with ABI change in Kapt component"
useGradleArgs("--no-build-cache")
runTasks("assembleDebug")
applyAbiChangeTo("vpn-main/src/main/java/com/duckduckgo/mobile/android/vpn/di/VpnComponent.kt")
}
scenario {
title = "Incremental build with change in Android common string resource"
useGradleArgs("--no-build-cache")
runTasks("assembleDebug")
applyAndroidResourceValueChange("common-ui/src/main/res/values/strings.xml")
}
},
mapOf(
"1.6.10" to stableReleasePatch,