Foreign + Vectors - benchmarks for copying and swapping
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Tue Jun 22 11:09:53 UTC 2021
Thanks for the test - I'll also give your benchmark a try.
Maurizio
On 21/06/2021 22:25, Paul Sandoz wrote:
> Replacing the upper bound in `segmentImplicitScalar` with a constant (1024 say) results in a similar time to `bufferNativeScalar` without a constant bound, both of which (alas) are still slower that scalar array access (which benefits greatly from auto-vectorization).
>
> I wonder if the segment subrange checking for int value ranges is having an impact on bounds checking?
>
> Paul.
>
>> On Jun 21, 2021, at 1:56 PM, Maurizio Cimadamore <maurizio.cimadamore at oracle.com> wrote:
>>
>>
>> On 21/06/2021 20:33, Paul Sandoz wrote:
>>> - Segment scalar access is penalized compared to ByteBuffer (from allocate or allocateDirect) scalar access.
>> Odd
>>
>> We have many benchmarks similar to this (see LoopOverNonConstant) and they seem to offer same level of performance compared with ByteBuffers.
>>
>> I wonder if the loop limit being "SPECIES.loopBound(srcArray.length)" plays a role? Have you tried replacing that expression with a constant?
>>
>> Maurizio
>>
More information about the panama-dev
mailing list