On Fri, 2 May 2025 10:40:04 GMT, Per Minborg <pminb...@openjdk.org> wrote:
>> This PR is based on the work of @mernst-github and aims to implement an >> _internal_ thread-local 'stack' allocator, which works like a dynamically >> sized arena, but with reset functionality to reset the allocated size back >> to a certain level. The underlying memory could stay around between calls, >> which could improve performance. >> >> Re-allocated segments are not zeroed between allocations. > > Per Minborg has updated the pull request incrementally with one additional > commit since the last revision: > > Address comments Updated benchmarks: Benchmark (ELEM_SIZE) Mode Cnt Score Error Units BufferStackBench.OfVirtual.buffer 8 avgt 15 12.695 ± 0.205 ns/op BufferStackBench.OfVirtual.buffer 16 avgt 15 12.622 ± 0.078 ns/op BufferStackBench.OfVirtual.buffer 32 avgt 15 12.523 ± 0.022 ns/op BufferStackBench.OfVirtual.confined 8 avgt 15 22.902 ± 0.407 ns/op BufferStackBench.OfVirtual.confined 16 avgt 15 23.858 ± 0.652 ns/op BufferStackBench.OfVirtual.confined 32 avgt 15 25.544 ± 0.458 ns/op BufferStackBench.buffer 8 avgt 15 4.923 ± 0.029 ns/op BufferStackBench.buffer 16 avgt 15 4.971 ± 0.095 ns/op BufferStackBench.buffer 32 avgt 15 4.980 ± 0.105 ns/op BufferStackBench.confined 8 avgt 15 22.713 ± 0.289 ns/op BufferStackBench.confined 16 avgt 15 23.576 ± 0.348 ns/op BufferStackBench.confined 32 avgt 15 25.272 ± 0.530 ns/op and vBenchmark Mode Cnt Score Error Units CallOverheadByValue.OfVirtual.byPtr avgt 15 4.159 ± 0.097 ns/op CallOverheadByValue.OfVirtual.byValue avgt 15 16.535 ± 0.433 ns/op CallOverheadByValue.byPtr avgt 15 4.119 ± 0.031 ns/op CallOverheadByValue.byValue avgt 15 11.404 ± 0.240 ns/op ------------- PR Comment: https://git.openjdk.org/jdk/pull/24829#issuecomment-2846906803