diff --git a/libraries/tools/gradle/regression-benchmark-templates/src/main/kotlin/org/jetbrains/kotlin/gradle/benchmark/BenchmarkScenario.kt b/libraries/tools/gradle/regression-benchmark-templates/src/main/kotlin/org/jetbrains/kotlin/gradle/benchmark/BenchmarkScenario.kt index 843f18a79ed..305c74e2a01 100644 --- a/libraries/tools/gradle/regression-benchmark-templates/src/main/kotlin/org/jetbrains/kotlin/gradle/benchmark/BenchmarkScenario.kt +++ b/libraries/tools/gradle/regression-benchmark-templates/src/main/kotlin/org/jetbrains/kotlin/gradle/benchmark/BenchmarkScenario.kt @@ -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() val gradleArgs = mutableListOf() val cleanupTasks = mutableListOf() val applyAbiChange = mutableListOf() val applyNonAbiChange = mutableListOf() + val applyAndroidResourceValueChange = mutableListOf() 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 { diff --git a/libraries/tools/gradle/regression-benchmark-templates/src/main/kotlin/org/jetbrains/kotlin/gradle/benchmark/BenchmarkTemplate.kt b/libraries/tools/gradle/regression-benchmark-templates/src/main/kotlin/org/jetbrains/kotlin/gradle/benchmark/BenchmarkTemplate.kt index 0df9a310204..09b5e1e78d1 100644 --- a/libraries/tools/gradle/regression-benchmark-templates/src/main/kotlin/org/jetbrains/kotlin/gradle/benchmark/BenchmarkTemplate.kt +++ b/libraries/tools/gradle/regression-benchmark-templates/src/main/kotlin/org/jetbrains/kotlin/gradle/benchmark/BenchmarkTemplate.kt @@ -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() diff --git a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/duckduckgo.benchmark.kts b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/duckduckgo.benchmark.kts index 7cc1e022513..141593184b9 100644 --- a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/duckduckgo.benchmark.kts +++ b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/duckduckgo.benchmark.kts @@ -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,