RFR: 8361099: Shenandoah: Improve heap lock contention by using CAS for memory allocation [v17]

Xiaolong Peng xpeng at openjdk.org
Thu Jan 15 19:01:09 UTC 2026


On Wed, 7 Jan 2026 21:09:55 GMT, Xiaolong Peng <xpeng at openjdk.org> wrote:

>> Please document the results of any experiments as rationale for the final design.
>
> I did run some experiments and didn't see significant difference, I will keep keep current code using PaddedArray, meanwhile keep this conversation open and make a decision based metrics later after I address the other comments.

Here is specjbb results I got, heap size is 8G, 8 cores:


|                     | PaddedArray    | Raw array |         |
| ------------------- | -------------- | --------- | ------- |
| 1st                 | Max jOPS       | 17893     | 18092   | 1.11%   |
| Critical jOPS       | 15490          | 15765     | 1.78%   |
| 2nd                 | Max jOPS       | 18219     | 18092   | -0.70% |
| Critical jOPS       | 15625          | 15498     | -0.81% |
| Average             | Max jOPS       | 18056     | 18092   | 0.20%   |
| Critical jOPS       | 15557.5        | 15631.5   | 0.48%   |
| Standard deviation  | Max jOPS Stdev | 163       | 0       |         |
| Critical jOPS Stdev | 67.5           | 133.5     |         |

I didn't see huge difference, using raw array tends to be slightly better.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26171#discussion_r2695586099


More information about the shenandoah-dev mailing list