RFR: 8325403: Add SystemGC JMH benchmarks [v4]
Stefan Johansson
sjohanss at openjdk.org
Wed Feb 14 11:26:06 UTC 2024
> 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 two additional commits since the last revision:
- Change packagename
- Fix whitespaces
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/17784/files
- new: https://git.openjdk.org/jdk/pull/17784/files/a305e8b9..f6a2798a
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=17784&range=03
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=17784&range=02-03
Stats: 17 lines in 13 files changed: 0 ins; 0 del; 17 mod
Patch: https://git.openjdk.org/jdk/pull/17784.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17784/head:pull/17784
PR: https://git.openjdk.org/jdk/pull/17784
More information about the hotspot-gc-dev
mailing list