On Wed, 13 Nov 2024 21:14:58 GMT, Volodymyr Paprotski <vpaprot...@openjdk.org> 
wrote:

> Measuring throughput with JMH parameters `-f 1 -i 2 -wi 3 -r 20 -w 30  -p 
> algorithm=AES/CBC/NoPadding -p dataSize=30000000 -p provider=SunJCE -p 
> keyLength=128 org.openjdk.bench.javax.crypto.full.AESBench`
> 
> Before:
> 
> Benchmark                (algorithm)  (dataSize)  (keyLength)  (provider)   
> Mode  Cnt   Score   Error  Units
> AESBench.decrypt   AES/CBC/NoPadding    30000000          128      SunJCE  
> thrpt    2  25.383          ops/s
> AESBench.decrypt2  AES/CBC/NoPadding    30000000          128      SunJCE  
> thrpt    2  32.230          ops/s
> AESBench.encrypt   AES/CBC/NoPadding    30000000          128      SunJCE  
> thrpt    2  20.489          ops/s
> AESBench.encrypt2  AES/CBC/NoPadding    30000000          128      SunJCE  
> thrpt    2  21.383          ops/s
> 
> 
> After:
> 
> Benchmark                (algorithm)  (dataSize)  (keyLength)  (provider)   
> Mode  Cnt    Score   Error  Units
> AESBench.decrypt   AES/CBC/NoPadding    30000000          128      SunJCE  
> thrpt    2  215.144          ops/s
> AESBench.decrypt2  AES/CBC/NoPadding    30000000          128      SunJCE  
> thrpt    2  411.265          ops/s
> AESBench.encrypt   AES/CBC/NoPadding    30000000          128      SunJCE  
> thrpt    2   64.341          ops/s
> AESBench.encrypt2  AES/CBC/NoPadding    30000000          128      SunJCE  
> thrpt    2   73.114          ops/s
> 
> 
> I have not deterministically proven why chunking works: before the change, 
> the CBC intrinsic is not being used; and after chunking, it is. There is 
> quite a bit of GC activity in the default AESBench, so `encrypt2/decrypt2` 
> versions isolate just crypto (see comment below).

This pull request has now been integrated.

Changeset: d6b40d30
Author:    Volodymyr Paprotski <vpaprot...@openjdk.org>
Committer: Anthony Scarpino <ascarp...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/d6b40d3033b306e2cefc12833bb4e99ae6e36008
Stats:     51 lines in 2 files changed: 46 ins; 0 del; 5 mod

8344144: AES/CBC slow at big payloads

Reviewed-by: sviswanathan, abarashev, ascarpino

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

PR: https://git.openjdk.org/jdk/pull/22086

Reply via email to