On Thu, 5 Sep 2024 17:47:16 GMT, Per Minborg <[email protected]> wrote:
>> This PR proposes to improve the performance of `MemorySegment::mismatch` by
>> using Java code rather than transitioning to native code.
>
> Per Minborg has updated the pull request incrementally with one additional
> commit since the last revision:
>
> Fix errors in a benchmark
src/java.base/share/classes/jdk/internal/foreign/SegmentBulkOperations.java
line 175:
> 173: } else {
> 174: long i;
> 175: if (SCOPED_MEMORY_ACCESS.getByte(src.sessionImpl(),
> src.unsafeGetBase(), src.unsafeGetOffset() + srcFromOffset) !=
I looked at this the other day, and I couldn't immediately tell whether this
test is needed or not - shouldn't it be covered by the subsequent loop? Is it a
shortcut (but only for the first element) - how much does that buy really?
src/java.base/share/classes/jdk/internal/foreign/SegmentBulkOperations.java
line 179:
> 177: return 0;
> 178: }
> 179: i =
> AbstractMemorySegmentImpl.vectorizedMismatchLargeForBytes(src.sessionImpl(),
> dst.sessionImpl(),
We should probably move `vectorizedMismatchLargeForBytes` in this class too,
for clarity
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20848#discussion_r1745946359
PR Review Comment: https://git.openjdk.org/jdk/pull/20848#discussion_r1745944712