ForkingGradleSession.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Explicit clean up before performance test measurements (#2640)

Previously we were using a workaround where odd runs were removed from measurements, and executed a `clean` build instead of the measured build.

Performance tests can now specify `cleanTasks`, similar to how they specify `tasksToRun`. These `cleanTasks` will be executed before each run (warm-up and measurement runs alike).

A new column is added to performance test tables to track this new information. It is a nullable column to allow for test results added by older versions of Gradle.

I've updated the task output caching tests and the Maven vs. Gradle comparisons to declare `cleanTasks` instead of the old hack with the odd-even runs.

  1. … 27 more files in changeset.
Add a performance test specific to parallel downloads

This commit introduces a performance test measuring the impact of parallel downloads:

- parallel download of artifacts

- parallel download of metadata

The test project is a Spring Boot app (copied from their samples), and we're using a remote repository test

fixture to simulate network latency.

  1. … 7 more files in changeset.
Fix no-daemon performance tests

Pass the jvm args to the client VM, so Gradle isn't forced to start

a single-use daemon.

Adds a test for a cold daemon, but without recompling scripts, i.e.

what a developer usually experiences in the morning when they turn

on their laptop.

  1. … 1 more file in changeset.
Use correct Gradle distribution for performance tests

Redirect output of performance tests to disk

The performance tests now no longer use our integration test fixtures.

Instead they use a simple ProcessBuilder to be closer to what a user

would do. More specifically, we no longer capture output in the test VM,

as that can introduce its own flakiness into the measurement. It also

reduces the memory needed to run the performance tests. Last but not least

spooling the output to disk makes later analysis easier.

    • -0
    • +106
    ./ForkingGradleSession.groovy
  1. … 9 more files in changeset.