RFR: 8361520: Stabilize SystemGC benchmarks [v3]

Aleksey Shipilev shade at openjdk.org
Wed Jul 9 08:59:46 UTC 2025


On Tue, 8 Jul 2025 14:29:08 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> Noticed this while working on a related bug ([JDK-8359960](https://bugs.openjdk.org/browse/JDK-8359960)):
>> 
>> First, I see the benchmark executes a single shot per fork. As such, I believe the benchmark really tests the cost of initial GC, that probably drags a lot of (potentially non-benchmark-related) objects through new (possibly awkwardly wired, despite +AlwaysPreTouch) memory. The first iteration is 80 ms/op for me here, and the second one is -- whoosh -- only 3 ms/op! Second, the benchmark is really, really noisy. Part of it is due to first iteration being noisy, but also we want more samples to shrink the estimated errors.
>> 
>> Additional testing:
>>  - [x] Linux x86_64 server fastdebug, `gc.systemgc` benchmark runs
>
> 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 five additional commits since the last revision:
> 
>  - Revert accidental
>  - Merge branch 'master' into JDK-8361520-stabilize-systemgc
>  - Do System.gc() once at start
>  - Revert accidental comment removal
>  - Fix

Thanks for reviews! Here goes.

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

PR Comment: https://git.openjdk.org/jdk/pull/26182#issuecomment-3051765067


More information about the hotspot-gc-dev mailing list