Integrated: Performance improvements for non-generational modes

William Kemper wkemper at openjdk.org
Mon Mar 6 17:55:32 UTC 2023


On Sat, 18 Feb 2023 01:56:10 GMT, William Kemper <wkemper at openjdk.org> wrote:

> There are a basket of changes here:
> * Make heuristics a bit less aggressive:
>    * Revert threshold triggers to use `available` rather than adjusted head room.
>    * Remove code that adjusted average gc time, it was causing wild fluctuations and making heuristic behave erratically
> * Skip over more generational mode constraints on the allocation path
> * Disable `ShenadoahEvacLABRatio` by default as it causes unused bytes in survivors regions, which in turn leads to these regions to being included in the mutator view of free memory. This contributed to higher fragmentation rates.
> * More detailed debugging messages under the `gc+free` tags.

This pull request has now been integrated.

Changeset: a1270d7e
Author:    William Kemper <wkemper at openjdk.org>
URL:       https://git.openjdk.org/shenandoah/commit/a1270d7edbedcd111755e2ed6da6260683d1eeaf
Stats:     216 lines in 12 files changed: 74 ins; 69 del; 73 mod

Performance improvements for non-generational modes

Reviewed-by: kdnilsen

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

PR: https://git.openjdk.org/shenandoah/pull/220


More information about the shenandoah-dev mailing list