On Tue, 21 Nov 2023 21:03:20 GMT, Steve Dohrmann <d...@openjdk.org> wrote:
>> Update: the XorTest::xor results shown in this message used test code from >> PR commit 7cc272e862791 which was based on Maurizio Cimadamore's commit >> a788f066af17. The XorTest has since been updated and XorTest::copy is no >> longer needed and has been removed from this pull request. See comment >> [here](https://github.com/openjdk/jdk/pull/16575#issuecomment-1820006548) >> for updated performance data. >> >> Below is baseline data collected using a modified version of the >> java.lang.foreign.xor micro benchmark referenced by @mcimadamore in the bug >> report. I collected data on an Ubuntu 22.04 laptop with a Tigerlake >> i7-1185G7, which does support AVX512. >> >> Baseline data >> Benchmark (arrayKind) (sizeKind) Mode Cnt Score >> Error Units >> -------------------------------------------------------------------------------------- >> XorTest.copy ELEMENTS SMALL avgt 30 584737355.767 ± >> 60414308.540 ns/op >> XorTest.copy ELEMENTS MEDIUM avgt 30 272248995.683 ± >> 2924954.498 ns/op >> XorTest.copy ELEMENTS LARGE avgt 30 1019200210.900 ± >> 28334453.652 ns/op >> XorTest.copy REGION SMALL avgt 30 7399944.164 ± >> 216821.819 ns/op >> XorTest.copy REGION MEDIUM avgt 30 20591454.558 ± >> 147398.572 ns/op >> XorTest.copy REGION LARGE avgt 30 21649266.051 ± >> 179263.875 ns/op >> XorTest.copy CRITICAL SMALL avgt 30 51079.357 ± >> 542.482 ns/op >> XorTest.copy CRITICAL MEDIUM avgt 30 2496.961 ± >> 11.375 ns/op >> XorTest.copy CRITICAL LARGE avgt 30 515.454 ± >> 5.831 ns/op >> XorTest.copy FOREIGN SMALL avgt 30 7558432.075 ± >> 79489.276 ns/op >> XorTest.copy FOREIGN MEDIUM avgt 30 19730666.341 ± >> 500505.099 ns/op >> XorTest.copy FOREIGN LARGE avgt 30 34616758.085 ± >> 340300.726 ns/op >> XorTest.xor ELEMENTS SMALL avgt 30 219832692.489 ± >> 2329417.319 ns/op >> XorTest.xor ELEMENTS MEDIUM avgt 30 505138197.167 ± >> 3818334.424 ns/op >> XorTest.xor ELEMENTS LARGE avgt 30 1189608474.667 ± >> 5877981.900 ns/op >> XorTest.xor REGION SMALL avgt 30 64093872.804 ± >> 599704.491 ns/op >> XorTest.xor REGION MEDIUM avgt 30 81544576.454 ± >> 1406342.118 ns/op >> XorTest.xor REGION LARGE avgt 30 90091424.883 ± >> 775577.613 ns/op >> XorTest.xor CRITICAL SMALL avgt ... > > Steve Dohrmann has updated the pull request with a new target base due to a > merge or a rebase. The pull request now contains 11 commits: > > - Merge branch 'master' into memcpy > - Updates based on reviewer (sviswa7) comments including > - use asserts instead of conditionals in two logically unreachable blocks > - remove unused function parmeters > - use 64-byte vector path in pre-loop masked write > - Merge branch 'master' into memcpy > - Update full name > Previous commit (fcbbc0d7880) added > org.openjdk.bench.java.lang.ArrayCopyAlignedLarge benchmark > - - remerge upstream master > - remove ::copy test from XorTest > - Merge branch 'master' into memcpy > - - fix whitespace error > - Merge branch 'master' of https://git.openjdk.org/jdk into memcpy > - - bug fix: only generate / use large copy code if MaxVectorSize == 64 > - - fix whitespace issues > - fix xor test foreign impl constructor signature > - ... and 1 more: https://git.openjdk.org/jdk/compare/e47cf611...02ad27fa Thanks a lot for taking care of all the review comments. The PR looks good to me now. ------------- Marked as reviewed by sviswanathan (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/16575#pullrequestreview-1743562444