RFR: 8272970: Parallelize runtime/InvocationTests/ [v2]

Aleksey Shipilev shade at openjdk.java.net
Wed Sep 1 08:01:20 UTC 2021


> Current runtime/InvocationTests/ are long and serial. They take about half an hour on a modern desktop, mostly using a single CPU. They can be parallelized better, at least on sub-test level. This would be important as [JDK-8272914](https://bugs.openjdk.java.net/browse/JDK-8272914) would start to run them in tier3.
> 
> Sample run times:
> 
> 
> $ time CONF=linux-x86_64-server-fastdebug make run-test TEST=runtime/InvocationTests/
> 
> # Before
> real	32m2.188s
> user	59m12.818s
> sys	0m45.612s
> 
> # After
> real	17m21.110s
> user	63m31.851s
> sys	0m55.391s
> 
> 
> I think we can technically go even deeper, for example parallelising by `packageSet` in the generators themselves, but that would be much more intrusive. I think 17 minutes is already quite good, given other tests running in prospective `hotspot:tier3`.

Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:

 - Merge branch 'master' into JDK-8272970-parallel-invocation-tests
 - Trim down redundant compile tags
 - 8272970: Parallelize runtime/InvocationTests/

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5250/files
  - new: https://git.openjdk.java.net/jdk/pull/5250/files/3651efa3..f16b642d

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5250&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5250&range=00-01

  Stats: 5444 lines in 222 files changed: 3928 ins; 730 del; 786 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5250.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5250/head:pull/5250

PR: https://git.openjdk.java.net/jdk/pull/5250


More information about the hotspot-runtime-dev mailing list