> 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. > > The reasonable default for older jtreg is `-report:executed`. My own CI -- > that has millions of tests mounted in `test/` -- was running with > `JTREG="OPTIONS=-report:executed"` for years now. > [CODETOOLS-7903323](https://bugs.openjdk.org/browse/CODETOOLS-7903323) > provides a new reporting option, `-report:files`, which makes this whole > business easier. This requires new jtreg. > > Motivational improvements: > > > $ time CONF=linux-x86_64-server-release make run-test > TEST=gc/epsilon/TestHelloWorld.java > > # Default JDK tree > > # Baseline > real 0m9.086s > user 0m22.857s > sys 0m4.202s > > # Patched > real 0m6.406s ; +40% faster > user 0m17.156s > sys 0m3.193s > > # +100K fuzzer tests in tree > > # Baseline > real 3m1.997s > user 3m16.643s > sys 0m10.490s > > # Patched > real 0m8.919s ; 20x faster > user 0m17.904s > sys 0m4.860s > > > Additional testing: > - [x] Ad-hoc timing tests (see above) > - [x] Reproducer from > [CODETOOLS-7903331](https://bugs.openjdk.org/browse/CODETOOLS-7903331) > - [x] Eyeballing the test results on passing tests with REPEAT_COUNT > 1 > - [x] Eyeballing the test results on intermittently failing tests with > RETRY_COUNT > 1
Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision: Copyright years ------------- Changes: - all: https://git.openjdk.org/jdk/pull/11824/files - new: https://git.openjdk.org/jdk/pull/11824/files/a803958f..a82ac6cc Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=11824&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=11824&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/11824.diff Fetch: git fetch https://git.openjdk.org/jdk pull/11824/head:pull/11824 PR: https://git.openjdk.org/jdk/pull/11824