This project contains the Gradle performance test suite. For information about the test infrastructure, see internal-performance-testing
A performance test scenario is made up of 2 parts:
build-logic/performance/src/main/groovy/performance-templates.gradle
plugin.A performance test configure various fixtures to describe each scenario. The fixtures will then run the scenario several times to warm up, and then several more times, capturing metrics. The metrics are collected in a database under ~/.gradle-performance-test-data
and a report is generated into build/performance-tests/report
.
The build templates live in src/templates
. Each template build is parameterized to some degree. For example, it is possible for define how many projects, source or test files to generate for a performance test build.
There is a task defined in build-logic/performance/src/main/groovy/performance-templates.gradle
for each performance test build, that specifies which templates to use and the build parameters.
There is a performance:report
task that generates a static HTML report from the contents of the database in ~/.gradle-performance-test-data
. This report allows the results over time to be visualized.
The report for the most recent test suite run against master is here
For tracking down performance regressions see Tracking down performance regressions with git bisect
.