RFR: 8257074 Update the ByteBuffers micro benchmark
Claes Redestad
redestad at openjdk.java.net
Wed Nov 25 13:14:56 UTC 2020
On Wed, 25 Nov 2020 12:41:40 GMT, Chris Hegarty <chegar at openjdk.org> wrote:
> The ByteBuffers micro benchmark seems to be a little dated.
>
> It should be a useful resource to leverage when analysing the performance impact of any potential implementation changes in the byte buffer classes. More specifically, the impact of such changes on the performance of sharp memory access operations.
>
> This issue proposes to update the benchmark in the following ways to meet the aforementioned use-case:
>
> 1. Remove allocation from the individual benchmarks - it just creates noise.
> 2. Consolidate per-thread shared heap and direct buffers.
> 3. All scenarios now use absolute memory access operations - so no state of the shared buffers is considered.
> 4. Provide more reasonable default fork, warmup, etc, out-of-the-box.
> 5. There seems to have been an existing bug in the test where the size parameter was not always considered - this is now fixed.
Overall a reasonable clean-up.
I do wonder if there's some value to at least some of these noisy, allocating variants, though. Could be interesting to zoom in on code where we allocate transient, small buffers, e.g. when encoding/decoding strings. But perhaps that needs to be designed differently and focus on a specific use case.
-------------
Marked as reviewed by redestad (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/1430
More information about the nio-dev
mailing list