RFR: 8316585: [REDO] runtime/InvocationTests spend a lot of time on dependency verification
Aleksey Shipilev
shade at openjdk.org
Fri Oct 6 14:38:13 UTC 2023
This is another (hopefully better) attempt at fixing the issue described by [JDK-8315932](https://bugs.openjdk.org/browse/JDK-8315932). The previous attempt tried to tune the Metaspace parameters, hoping for a more frequent GCs. This patch just does the GCs explicitly in the tests.
There is a tradeoff between spending more on frequent GCs and having fewer dependencies to verify. But it is a win on all thresholds. I have selected the best threshold with a light bisection.
# Testing with CONF=linux-x86_64-server-fastdebug make test TEST=runtime/InvocationTests/
# Current run time
4312.23s user 93.50s system 467% cpu 15:42.02 total
Original fix:
2875.61s user 116.28s system 677% cpu 7:21.57 total
# GC every 8192 classes
3666.35s user 98.30s system 489% cpu 12:49.13 total
# GC every 4096 classes
3083.87s user 104.52s system 586% cpu 9:04.06 total
# GC every 3000 classes <---- this PR
3066.15s user 110.85s system 613% cpu 8:37.96 total
# GC every 2500 classes
3079.33s user 114.35s system 582% cpu 9:07.85 total
# GC every 2048 classes
3171.62s user 116.97s system 492% cpu 11:07.38 total
# GC every 1024 classes
3112.66s user 114.94s system 506% cpu 10:37.35 total
# GC every 512 classes
3180.21s user 122.11s system 508% cpu 10:48.85 total
# GC every 128 classes
3628.81s user 90.54s system 481% cpu 12:52.88 total
-------------
Commit messages:
- Use 3000 as the threshold
- Fix
Changes: https://git.openjdk.org/jdk/pull/16052/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=16052&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8316585
Stats: 9 lines in 1 file changed: 9 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/16052.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/16052/head:pull/16052
PR: https://git.openjdk.org/jdk/pull/16052
More information about the hotspot-runtime-dev
mailing list