RFR: 8325403: Add SystemGC JMH benchmarks [v2]
Stefan Johansson
sjohanss at openjdk.org
Tue Feb 13 08:48:06 UTC 2024
On Mon, 12 Feb 2024 15:18:08 GMT, Albert Mingkun Yang <ayang at openjdk.org> wrote:
>> Stefan Johansson has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Restructure and rename
>
> test/micro/org/openjdk/bench/vm/gc/system_gc/AllDead.java line 39:
>
>> 37:
>> 38: @BenchmarkMode(Mode.SingleShotTime)
>> 39: @Fork(value=25, jvmArgsAppend={"-Xmx5g", "-Xms5g", "-Xmn3g"})
>
> It takes ~4.5 min on my box to run all of them, `make CONF=release test TEST='micro:vm.gc.system_gc'`. The variance is rather small, so I wonder this number can be reduced, say 10? (Ofc, this can be easily overwritten on the command line.)
On my box (not binding to a single NUMA node) the error is still fairly big for some cases with just 10 forks. For example:
Benchmark Mode Cnt Score Error Units
AllLive.gc ss 5 61.810 ? 12.743 ms/op
DifferentObjectSizesTreeMap.gc ss 5 106.660 ? 33.727 ms/op
HalfDeadFirstPart.gc ss 5 45.340 ? 7.520 ms/op
HalfDeadSecondPart.gc ss 5 43.968 ? 8.859 ms/op
HalfHashedHalfDead.gc ss 5 105.144 ? 13.341 ms/op
OneBigObject.gc ss 5 114.798 ? 19.266 ms/op
---
Benchmark Mode Cnt Score Error Units
AllLive.gc ss 10 61.222 ? 4.838 ms/op
DifferentObjectSizesTreeMap.gc ss 10 110.614 ? 11.748 ms/op
HalfDeadFirstPart.gc ss 10 46.089 ? 3.915 ms/op
HalfDeadSecondPart.gc ss 10 46.085 ? 4.231 ms/op
HalfHashedHalfDead.gc ss 10 105.468 ? 5.365 ms/op
OneBigObject.gc ss 10 118.285 ? 6.044 ms/op
---
Benchmark Mode Cnt Score Error Units
AllLive.gc ss 25 59.683 ? 2.747 ms/op
DifferentObjectSizesTreeMap.gc ss 25 107.748 ? 5.235 ms/op
HalfDeadFirstPart.gc ss 25 46.860 ? 1.570 ms/op
HalfDeadSecondPart.gc ss 25 44.730 ? 1.261 ms/op
HalfHashedHalfDead.gc ss 25 104.233 ? 2.418 ms/op
OneBigObject.gc ss 25 114.868 ? 2.398 ms/op
Especially for `DifferentObjectSizesTreeMap` the error is quite big even with 25 invocation. Since none of these tests will be run in Mach5 or Perf-aurora without anyone explicitly asking for it I think the additional runtime is worth getting scores with higher confidence.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17784#discussion_r1487414694
More information about the hotspot-gc-dev
mailing list