On Fri, 23 Sep 2022 11:01:13 GMT, Aleksey Shipilev <sh...@openjdk.org> wrote:
> This should help to speed up tests significantly. Currently, if we run "make > test" with a subset of tests, JTReg would still read the entirety of test > root to report on tests that were not run. Even with current suite of tests > it gets expensive. If you add more tests to suite -- for example, mounting a > large test archive like pre-generated fuzzer tests -- it starts to take a lot > of time. > > We might default to `-report:executed`. My own CI -- that has millions of > tests mounted in `test/` -- was running with > `JTREG="OPTIONS=-report:executed"` for years now. I think that should be the > default way to run the tests in JDK tree. > > There is a wrinkle with jtreg retries: we need to collate together the > reports for successful retries from multiple runs. Fortunately, we can then > fall back to `-report:all-executed`. > [CODETOOLS-7903323](https://bugs.openjdk.org/browse/CODETOOLS-7903323) is > poised to provide a new reporting option, `-report:files`, which would make > this whole business easier, we can upgrade to it once minimum jtreg version > is bumped. This RFE provides faster tests today, and is backportable to > update releases. > > Motivational example: > > > $ time CONF=linux-x86_64-server-release make run-test > TEST=gc/epsilon/TestHelloWorld.java > > # Default JDK tree > > # Baseline > real 0m8.813s > user 0m20.846s > sys 0m3.841s > > # Patched > real 0m5.926s ; about 1.5x faster > user 0m14.637s > sys 0m3.451s > > > # +100K fuzzer tests in tree > > # Baseline > real 3m22.978s > user 3m33.417s > sys 0m11.197s > > # Patched > real 0m8.415s ; about 23x faster > user 0m15.623s > sys 0m4.746s Marked as reviewed by djelinski (Committer). ------------- PR: https://git.openjdk.org/jdk/pull/10405