On Wed, 24 Jun 2026 20:05:13 GMT, Volodymyr Paprotski <[email protected]> 
wrote:

>> With `quadKeccak`, it is possible to have 3 extra `keccak`s calls that are 
>> really noops.. teach `SHA3Parallel.squeeze()` how many operations it really 
>> should be doing.
>> 
>> While it is possible to match precisely the number of keccak calls 
>> required.. the previous implementation always called doubleKeccak, so 
>> collapsing the odd numbers to the closest even.
>> 
>> PS:  `make install-hsdis test 
>> TEST="micro:org.openjdk.bench.javax.crypto.full.SignatureBench.MLDSA" 
>> MICRO="JAVA_OPTIONS=-XX:+UnlockDiagnosticVMOptions 
>> -XX:-UseSHA3Intrinsics;FORK=1;ITER=3;TIME=10;WARMUP_ITER=7;WARMUP_TIME=10;OPTIONS=-prof
>>  perfasm -p algorithm=ML-DSA-65"`
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Volodymyr Paprotski has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   comment from Ferenc

I ran ML-KEM and ML-DSA benchmarks on a Macbook Pro M3 36GB Memory, see 
attached.  Everything is improved with the set of changes except for ML-KEM-512 
(encapsulation:-0.92%/decapsulation:-2.25%) and ML-DSA-44 (key 
generation:-1.03%).
[8384353BenchmarksM3Pro.pdf](https://github.com/user-attachments/files/29319713/8384353BenchmarksM3Pro.pdf)

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

PR Comment: https://git.openjdk.org/jdk/pull/31648#issuecomment-4795420998

Reply via email to