On Thu, 5 Sep 2024 17:47:16 GMT, Per Minborg <pminb...@openjdk.org> 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