RFR: 8361520: Stabilize SystemGC benchmarks

Aleksey Shipilev shade at openjdk.org
Tue Jul 8 09:37:49 UTC 2025


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

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

Commit messages:
 - Fix

Changes: https://git.openjdk.org/jdk/pull/26182/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26182&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8361520
  Stats: 85 lines in 12 files changed: 82 ins; 2 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/26182.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/26182/head:pull/26182

PR: https://git.openjdk.org/jdk/pull/26182


More information about the hotspot-gc-dev mailing list