RFR: 8325403: Add SystemGC JMH benchmarks [v3]
Stefan Johansson
sjohanss at openjdk.org
Wed Feb 14 09:59:03 UTC 2024
On Tue, 13 Feb 2024 14:12:06 GMT, Stefan Johansson <sjohanss at openjdk.org> wrote:
>> Please review this change to add some System GC JMH benchmarks.
>>
>> **Summary**
>> When developing and improving the Full GC implementation for the different GCs, using `System.gc()` to test performance is sometime very useful. This change adds a set of System GC benchmarks using JMH. The tests all have the same structure, a `@Setup` function that generates heap contents and a `@Benchmark` function which only calls `System.gc()`. The different scenarios covers some basic use-cases but more can certainly be added going forward.
>>
>> Since the benchmark function is just a single call to trigger the GC it makes sense to use the single shot JMH mode and fork a new JVM for each run. The tests also specify default heap options to avoid triggering GC during object creation to give all runs more or less the same heap layout.
>>
>> **Testing**
>> Local and aurora testing verifying that results are fairly stable.
>
> Stefan Johansson has updated the pull request incrementally with one additional commit since the last revision:
>
> Add AlwaysPreTouch to jvmArgsAppend
Thanks @turbanoff, will include fix these before integrating. After some more offline discussions I will also update the package name to `systemgc` instead of `system_gc`.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/17784#issuecomment-1943422425
More information about the hotspot-gc-dev
mailing list