On Thu, 31 Oct 2024 17:03:31 GMT, Maurizio Cimadamore <[email protected]>
wrote:
>> Quan Anh Mai has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> fix benchmarks
>
> src/java.base/share/classes/jdk/internal/foreign/SharedSession.java line 90:
>
>> 88: }
>> 89:
>> 90: state = CLOSED;
>
> I like it that we still only have one CAS here (as only one thread can set
> CLOSED_ACQUIRE_COUNT). So shared arena close doesn't need more work. You
> might want to check the MemorySessionClose bench, just in case.
This is the result, as expected an additional `store` is negligible compared to
the hand shake below:
Before After
Benchmark (mode) Mode Cnt Score
Error Score Error Units
MemorySessionClose.confined_close NONE avgt 30 0.035 ±
0.001 0.036 ± 0.001 us/op
MemorySessionClose.confined_close MEMORY avgt 30 0.037 ±
0.002 0.036 ± 0.001 us/op
MemorySessionClose.confined_close THREADS avgt 30 0.043 ±
0.003 0.040 ± 0.002 us/op
MemorySessionClose.implicit_close NONE avgt 30 1.957 ±
2.298 12.308 ± 22.991 us/op
MemorySessionClose.implicit_close MEMORY avgt 30 34.902 ±
58.169 13.014 ± 27.360 us/op
MemorySessionClose.implicit_close THREADS avgt 30 5.858 ±
17.937 0.861 ± 0.358 us/op
MemorySessionClose.implicit_close_systemgc NONE avgt 30 11.926 ±
0.215 11.594 ± 0.083 us/op
MemorySessionClose.implicit_close_systemgc MEMORY avgt 30 781.714 ±
12.765 770.620 ± 10.499 us/op
MemorySessionClose.implicit_close_systemgc THREADS avgt 30 12.005 ±
0.084 11.890 ± 0.058 us/op
MemorySessionClose.shared_close NONE avgt 30 22.537 ±
0.161 22.729 ± 0.200 us/op
MemorySessionClose.shared_close MEMORY avgt 30 22.795 ±
0.223 22.722 ± 0.246 us/op
MemorySessionClose.shared_close THREADS avgt 30 26.702 ±
0.476 26.904 ± 0.539 us/op
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21810#discussion_r1824976177