Add a Gradle profiler scenario and some instructions

This commit is contained in:
Guillaume Smet 2024-02-19 17:39:34 +01:00
parent 106ae77bef
commit 16737fd746
No known key found for this signature in database
GPG Key ID: C2AD9C8A7D4E988A
2 changed files with 57 additions and 0 deletions

View File

@ -564,6 +564,23 @@ To be able to benefit from the remote cache, you need to use a Java version test
The local cache is stored in the `~/.m2/.gradle-enterprise/build-cache/` directory.
If you have problems with your local cache, you can delete this directory.
During the experiment phase, there might be a need to benchmark the build in a reliable manner.
For this, we can use the [Gradle Profiler](https://github.com/gradle/gradle-profiler).
It can be installed with SDKMAN! (`sdk install gradleprofiler`) or Homebrew (`brew install gradle-profiler`).
Then we can run the following commands at the root of the Quarkus project:
```
# Without cache
gradle-profiler --maven --benchmark --scenario-file build.scenario clean_install_no_cache
# With cache
gradle-profiler --maven --benchmark --scenario-file build.scenario clean_install
```
Simple HTML reports will be published in the `profile_out*` directories.
## Release your own version
You might want to release your own patched version of Quarkus to an internal repository.

40
build.scenario Normal file
View File

@ -0,0 +1,40 @@
clean_install {
tasks = ["clean","install","-Dquickly", "-T6"]
cleanup-tasks = ["clean"]
maven {
targets = ["clean","install","-Dquickly", "-T6"]
}
warm-ups = 1
iterations = 3
}
clean_install_no_scan {
tasks = ["clean","install","-Dquickly", "-T6", "-Dscan=false"]
cleanup-tasks = ["clean"]
maven {
targets = ["clean","install","-Dquickly", "-T6", "-Dscan=false"]
}
warm-ups = 1
iterations = 3
}
clean_install_no_cache {
tasks = ["clean","install","-Dquickly", "-T6", "-Dno-build-cache"]
cleanup-tasks = ["clean"]
maven {
targets = ["clean","install","-Dquickly", "-T6", "-Dno-build-cache"]
}
warm-ups = 1
iterations = 3
}
clean_install_no_cache_no_scan {
tasks = ["clean","install","-Dquickly", "-T6", "-Dno-build-cache", "-Dscan=false"]
cleanup-tasks = ["clean"]
maven {
targets = ["clean","install","-Dquickly", "-T6", "-Dno-build-cache", "-Dscan=false"]
}
warm-ups = 1
iterations = 3
}