RFR: JDK-8216437 : PPC64: Add intrinsic for GHASH algorithm [v31]

Andrew Haley aph at openjdk.org
Fri May 2 12:07:51 UTC 2025


On Mon, 28 Apr 2025 09:21:50 GMT, Andrew Haley <aph at openjdk.org> wrote:

>> Please run AESGCMByteBuffer.encrypt and provide some before and after figures.
>
>> @theRealAph From my end, we had improvement of around 3 times after running TestAESMain. Is that not valid test suite ?
>> 
>> If the improvement with this version is satisfactory , can we have this integrated and then pursue further improvements on it in separate PR ? Will open a JBS issue for the same
> 
> You should run the JMH test, like so:
> 
> 
> fedora:theRealAph-jdk $ CONF=release make -k LOG=info build-microbenchmark CONF_CHECK=auto
> fedora:theRealAph-jdk $  ./build/linux-aarch64-server-release/jdk/bin/java -Djmh.ignoreLock=true  -jar ./build/linux-aarch64-server-release/images/test/micro/benchmarks.jar -f 1 AESGCMByteBuffer.encrypt$
> 
> Benchmark                                 (dataMethod)  (dataSize)  (keyLength)  (provider)   Mode  Cnt        Score       Error  Units
> o.o.b.j.c.full.AESGCMByteBuffer.encrypt         direct        1024          128              thrpt    8  2216504.066 ± 12527.173  ops/s
> o.o.b.j.c.full.AESGCMByteBuffer.encrypt         direct        1500          128              thrpt    8  1505300.797 ±  8675.648  ops/s
> o.o.b.j.c.full.AESGCMByteBuffer.encrypt         direct        4096          128              thrpt    8   813518.431 ±  7513.509  ops/s
> o.o.b.j.c.full.AESGCMByteBuffer.encrypt         direct       16384          128              thrpt    8   233268.190 ±   975.616  ops/s
> o.o.b.j.c.full.AESGCMByteBuffer.encrypt           heap        1024          128              thrpt    8  2562063.056 ± 18200.538  ops/s
> o.o.b.j.c.full.AESGCMByteBuffer.encrypt           heap        1500          128              thrpt    8  1771049.922 ±  6444.924  ops/s
> o.o.b.j.c.full.AESGCMByteBuffer.encrypt           heap        4096          128              thrpt    8   934138.960 ±  5353.664  ops/s
> o.o.b.j.c.full.AESGCMByteBuffer.encrypt           heap       16384          128              thrpt    8   257884.039 ±   149.974  ops/s
> o.o.b.j.c.small.AESGCMByteBuffer.encrypt        direct        1024          128              thrpt    8  2214159.143 ± 16196.670  ops/s
> o.o.b.j.c.small.AESGCMByteBuffer.encrypt          heap        1024          128              thrpt    8  2578675.681 ± 22067.812  ops/s

> Hi @theRealAph Can you help understand this result ? since op/s is increasing for ghash code , does it suggest a speedup ?

Yes, an increase in ops/s is what we want.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/20235#issuecomment-2847051951


More information about the hotspot-dev mailing list