On Mon, 5 Dec 2022 22:05:51 GMT, Volodymyr Paprotski <d...@openjdk.org> wrote:
>> There is now an intrinsic for Poly1305, which is only enabled on the >> `engineUpdate([]byte)` path. This PR adds intrinsic support >> `engineUpdate(ByteBuffer)` (when the bytebuffer `hasArray`). >> >> Fuzzing test expanded to also include ByteBuffer payloads. >> >> Performance is now matched: >> >> Benchmark (dataSize) (provider) Mode Cnt >> Score Error Units >> Poly1305DigestBench.digestBuffer 64 thrpt 3 >> 3320909.857 ± 787300.545 ops/s >> Poly1305DigestBench.digestBuffer 256 thrpt 3 >> 3006447.324 ± 704790.796 ops/s >> Poly1305DigestBench.digestBuffer 1024 thrpt 3 >> 2645041.509 ± 664904.622 ops/s >> Poly1305DigestBench.digestBuffer 16384 thrpt 3 >> 893389.209 ± 6288.743 ops/s >> Poly1305DigestBench.digestBuffer 1048576 thrpt 3 >> 14932.680 ± 170.238 ops/s >> Poly1305DigestBench.digestBytes 64 thrpt 3 >> 3548298.515 ± 859964.530 ops/s >> Poly1305DigestBench.digestBytes 256 thrpt 3 >> 3083261.994 ± 141802.417 ops/s >> Poly1305DigestBench.digestBytes 1024 thrpt 3 >> 2704357.584 ± 554683.019 ops/s >> Poly1305DigestBench.digestBytes 16384 thrpt 3 >> 898913.339 ± 99733.295 ops/s >> Poly1305DigestBench.digestBytes 1048576 thrpt 3 >> 14961.872 ± 38.003 ops/s >> Finished running test >> 'micro:org.openjdk.bench.javax.crypto.full.Poly1305DigestBench' >> >> Relates to: >> - https://github.com/openjdk/jdk/pull/11463: Found inconsistency between >> processing `[]byte` and `ByteBuffer`. When that one is fixed, >> `Poly1305IntrinsicFuzzTest.java` should not be setting the endianness on the >> `ByteBuffer` >> - Intrinsic introduced by https://github.com/openjdk/jdk/pull/10582. > > Volodymyr Paprotski has updated the pull request with a new target base due > to a merge or a rebase. The incremental webrev excludes the unrelated changes > brought in by the merge/rebase. The pull request contains six additional > commits since the last revision: > > - Merge remote-tracking branch 'origin/master' into avx512-poly-buf > - remove comment > - bench and handle buf.position() > - Merge remote-tracking branch 'origin/master' into avx512-poly-buf > - whitespace > - ByteBuffer support and tests Changes look fine. tier1-5 + hs-precheckin-comp test jobs came back clean with the exception of two jaxp failures only on linux-x64 but they don't appear to be related to your changes. ------------- Marked as reviewed by jnimeh (Reviewer). PR: https://git.openjdk.org/jdk/pull/11338