[vectorIntrinsics] RFR: Optimize mem barriers for ByteBuffer cases [v10]
Paul Sandoz
psandoz at openjdk.java.net
Thu Aug 5 15:18:48 UTC 2021
On Wed, 4 Aug 2021 22:44:09 GMT, Radoslaw Smogura <github.com+7535718+rsmogura at openjdk.org> wrote:
>> # Description
>> This change tries to remove mem bars for byte buffer cases.
>>
>> Previously mem bars were inserted almost unconditionally if attemp to native memory acees where detected. This patch tries to follow up inline_unsafe_access and insert bar only if can't determine if it's heap or off-heap (type missmatch cases are not ported).
>>
>> # Testing
>> Memory tests should include rollbacking JDK changes, and leaving only hotspot, as intrinsics should be well guarded
>>
>> # Notes
>> Polluted cases to be addressed later
>>
>> # Benchmarks
>>
>> Benchmark (size) Mode Cnt Score Error Units
>> ByteBufferVectorAccess.arrays 1024 avgt 10 12.585 ? 0.409 ns/op
>> ByteBufferVectorAccess.directBuffers 1024 avgt 10 19.962 ? 0.080 ns/op
>> ByteBufferVectorAccess.heapBuffers 1024 avgt 10 15.878 ? 0.187 ns/op
>> ByteBufferVectorAccess.pollutedBuffers2 1024 avgt 10 123.702 ? 0.723 ns/op
>> ByteBufferVectorAccess.pollutedBuffers3 1024 avgt 10 223.928 ? 1.906 ns/op
>>
>> Before
>>
>> Benchmark (size) Mode Cnt Score Error Units
>> ByteBufferVectorAccess.arrays 1024 avgt 10 14.730 ? 0.061 ns/op
>> ByteBufferVectorAccess.directBuffers 1024 avgt 10 77.707 ? 4.867 ns/op
>> ByteBufferVectorAccess.heapBuffers 1024 avgt 10 76.530 ? 1.076 ns/op
>> ByteBufferVectorAccess.pollutedBuffers2 1024 avgt 10 143.331 ? 1.096 ns/op
>> ByteBufferVectorAccess.pollutedBuffers3 1024 avgt 10 286.645 ? 3.444 ns/op
>
> Radoslaw Smogura has updated the pull request incrementally with two additional commits since the last revision:
>
> - Revert: gitignore(s)
> - CR changes:
> * reformat checks
> * bring array mismatched access back
Very good. After integration i think we can provide a PR to the jdk repository.
-------------
Marked as reviewed by psandoz (Committer).
PR: https://git.openjdk.java.net/panama-vector/pull/104
More information about the panama-dev
mailing list