Run benchmarks in the same suite

This should reduce variation in results, especially when overall time is
 quite low.
This commit is contained in:
Yahor Berdnikau
2023-01-26 19:02:29 +01:00
committed by Space Team
parent ace1bc76a1
commit 3f4c824a23
6 changed files with 111 additions and 107 deletions
@@ -4,25 +4,21 @@
@file:BenchmarkProject(
name = "duckduckgo",
gitUrl = "https://github.com/duckduckgo/Android.git",
gitCommitSha = "18e230fcefbefb4317c1fe128b4539a2315e7c0a"
gitCommitSha = "18e230fcefbefb4317c1fe128b4539a2315e7c0a",
stableKotlinVersion = "1.7.20",
)
import java.io.File
val stableReleasePatch = {
"duckduckgo-kotlin-1.7.20.patch" to File("benchmarkScripts/files/duckduckgo-kotlin-1.7.20.patch")
.readText()
.byteInputStream()
}
val currentReleasePatch = {
val repoPatch = {
"duckduckgo-kotlin-current.patch" to File("benchmarkScripts/files/duckduckgo-kotlin-current.patch")
.readText()
.run { replace("<kotlin_version>", currentKotlinVersion) }
.byteInputStream()
}
runAllBenchmarks(
runBenchmarks(
repoPatch,
suite {
scenario {
title = "Clean build"
@@ -86,9 +82,5 @@ runAllBenchmarks(
iterations = 20
runTasks(":app:assemblePlayDebug")
}
},
mapOf(
"1.7.20" to stableReleasePatch,
"1.8.0" to currentReleasePatch
)
}
)
@@ -1,13 +0,0 @@
diff --git a/gradle.properties b/gradle.properties
index a1796af97..43609273a 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -15,7 +15,7 @@ org.gradle.jvmargs=-Xmx2g -XX:+HeapDumpOnOutOfMemoryError
# dependencies
kotlinJvmVersion = 1.8
-kotlinVersion = 1.6.21
+kotlinVersion = 1.7.20
kotlinCoroutinesVersion = 1.6.4
# kotlinx-serialization 1.3.3 calls Kotlin 1.7 API
kotlinxSerializationVersion = 1.3.2
@@ -9,24 +9,21 @@
@file:BenchmarkProject(
name = "graphql-kotlin",
gitUrl = "https://github.com/ExpediaGroup/graphql-kotlin.git",
gitCommitSha = "fd1e9063f3aae144e099cdcfa69a4416fa434fb2"
gitCommitSha = "fd1e9063f3aae144e099cdcfa69a4416fa434fb2",
stableKotlinVersion = "1.7.20",
)
import java.io.File
val stableReleasePatch = {
"graphql-kotlin-1.7.20.patch" to File("benchmarkScripts/files/graphql-kotlin-1.7.20.patch")
.readText()
.byteInputStream()
}
val currentReleasePatch = {
"graphql-kotlin-current.patch" to File("benchmarkScripts/files/graphql-kotlin-current.patch")
val repoPatch = {
"graphql-kotlin-current.patch" to File("benchmarkScripts/files/graphql-kotlin-repo.patch")
.readText()
.run { replace("<kotlin_version>", currentKotlinVersion) }
.byteInputStream()
}
runAllBenchmarks(
runBenchmarks(
repoPatch,
suite {
scenario {
title = "Spring server clean build"
@@ -91,9 +88,5 @@ runAllBenchmarks(
iterations = 20
runTasks("assemble")
}
},
mapOf(
"1.7.20" to stableReleasePatch,
"1.8.0" to currentReleasePatch
)
}
)
@@ -9,19 +9,21 @@
@file:BenchmarkProject(
name = "kvision",
gitUrl = "https://github.com/rjaros/kvision.git",
gitCommitSha = "3fe69bf6db9a3650b026630d857862f3cee6485b"
gitCommitSha = "3fe69bf6db9a3650b026630d857862f3cee6485b",
stableKotlinVersion = "1.7.20",
)
import java.io.File
val currentReleasePatch = {
val repoPatch = {
"kvision-kotlin-current.patch" to File("benchmarkScripts/files/kvision-kotlin-current.patch")
.readText()
.run { replace("<kotlin_version>", currentKotlinVersion) }
.byteInputStream()
}
runAllBenchmarks(
runBenchmarks(
repoPatch,
suite {
scenario {
title = "Build Js IR clean build"
@@ -86,9 +88,5 @@ runAllBenchmarks(
iterations = 20
runTasks("jsIrJar")
}
},
mapOf(
"1.7.20" to null,
"1.8.0" to currentReleasePatch
)
}
)