Run wall profile
^KT-80117
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 f3585bc..83e4df2 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
@@ -257,6 +257,7 @@
arrayOf(
"--async-profiler-home", asyncProfilerDir.path,
"--async-profiler-event", asyncProfilerConfig.cpuProfiler,
+ "--async-profiler-interval", "5000000",
"--profile", "async-profiler",
)
} ?: emptyArray()
@@ -426,7 +427,16 @@
* 4.1 no longer has the script, so. symlink manually
*/
val asyncProfilerExecutable = asyncProfilerDir.resolve("profiler.sh")
- Files.createSymbolicLink(asyncProfilerExecutable.toPath(), Paths.get(asyncProfilerBin))
+ asyncProfilerExecutable.writeText(
+ """
+ #!/bin/bash
+
+ script_root=$(dirname "$0")
+ "${'$'}{script_root}"/bin/asprof -I '*ExecuteBuild.doBuild*' "$@"
+ """.trimIndent()
+ )
+ asyncProfilerExecutable.setExecutable(true)
+ //Files.createSymbolicLink(asyncProfilerExecutable.toPath(), Paths.get(asyncProfilerBin))
println("Finished downloading async-profiler")
}
@@ -631,13 +641,13 @@
javaOsName == "Mac OS X" -> BenchmarkTemplate.AsyncProfilerConfiguration(
"https://github.com/async-profiler/async-profiler/releases/download/v${ASYNC_PROFILER_VERSION}/async-profiler-${ASYNC_PROFILER_VERSION}-macos.zip",
Decompression.ZIP,
- cpuProfiler = "cpu",
+ cpuProfiler = "wall",
)
javaOsName == "Linux" -> BenchmarkTemplate.AsyncProfilerConfiguration(
"https://github.com/async-profiler/async-profiler/releases/download/v${ASYNC_PROFILER_VERSION}/async-profiler-${ASYNC_PROFILER_VERSION}-linux-x64.tar.gz",
Decompression.TAR_GZ,
// On CI this will implicitly run in "ctimer" mode because we run containerized builds which don't have access to perf_events
- cpuProfiler = "cpu",
+ cpuProfiler = "wall",
)
javaOsName.startsWith("Windows") -> null
else -> error("Unknown OS ${javaOsName}")
diff --git a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/kvision.benchmark.kts b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/kvision.benchmark.kts
index 8cba4f65..50cbf5e 100644
--- a/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/kvision.benchmark.kts
+++ b/libraries/tools/gradle/regression-benchmarks/benchmarkScripts/kvision.benchmark.kts
@@ -37,36 +37,36 @@
// runCleanupTasks("clean")
// }
- scenario {
- title = "Build Js IR with ABI change in ObservableList"
- iterations = defaultIterations
-
- useGradleArgs(
- "-Pkotlin.kmp.unresolvedDependenciesDiagnostic=false",
- )
-
- runTasks("jsJar")
- applyAbiChangeTo("kvision-modules/kvision-state/src/jsMain/kotlin/io/kvision/state/ObservableList.kt")
- }
-
- scenario {
- title = "Build Js IR with non-ABI change in ObservableList"
- iterations = defaultIterations
-
- useGradleArgs(
- "-Pkotlin.kmp.unresolvedDependenciesDiagnostic=false",
- )
-
- runTasks("jsJar")
- applyNonAbiChangeTo("kvision-modules/kvision-state/src/jsMain/kotlin/io/kvision/state/ObservableList.kt")
- }
+// scenario {
+// title = "Build Js IR with ABI change in ObservableList"
+// iterations = defaultIterations
+//
+// useGradleArgs(
+// "-Pkotlin.kmp.unresolvedDependenciesDiagnostic=false",
+// )
+//
+// runTasks("jsJar")
+// applyAbiChangeTo("kvision-modules/kvision-state/src/jsMain/kotlin/io/kvision/state/ObservableList.kt")
+// }
+//
+// scenario {
+// title = "Build Js IR with non-ABI change in ObservableList"
+// iterations = defaultIterations
+//
+// useGradleArgs(
+// "-Pkotlin.kmp.unresolvedDependenciesDiagnostic=false",
+// )
+//
+// runTasks("jsJar")
+// applyNonAbiChangeTo("kvision-modules/kvision-state/src/jsMain/kotlin/io/kvision/state/ObservableList.kt")
+// }
scenario {
title = "Dry run configuration time"
useGradleArgs(
"-m",
- "-Pkotlin.kmp.unresolvedDependenciesDiagnostic=false",
+ "-Pkotlin.kmp.unresolvedDependenciesDiagnostic=true",
)
iterations = defaultIterations
@@ -74,26 +74,26 @@
runTasks("jsJar")
}
- scenario {
- title = "No-op configuration time"
- iterations = defaultIterations
-
- useGradleArgs(
- "-Pkotlin.kmp.unresolvedDependenciesDiagnostic=false",
- )
-
- runTasks("help")
- }
-
- scenario {
- title = "UP-TO-DATE configuration time"
- iterations = defaultIterations
-
- useGradleArgs(
- "-Pkotlin.kmp.unresolvedDependenciesDiagnostic=false",
- )
-
- runTasks("jsJar")
- }
+// scenario {
+// title = "No-op configuration time"
+// iterations = defaultIterations
+//
+// useGradleArgs(
+// "-Pkotlin.kmp.unresolvedDependenciesDiagnostic=false",
+// )
+//
+// runTasks("help")
+// }
+//
+// scenario {
+// title = "UP-TO-DATE configuration time"
+// iterations = defaultIterations
+//
+// useGradleArgs(
+// "-Pkotlin.kmp.unresolvedDependenciesDiagnostic=false",
+// )
+//
+// runTasks("jsJar")
+// }
}
)
\ No newline at end of file