Hi,

I need a review for a new internal buffer class called AEADBufferStream.  
AEADBufferStream extends ByteArrayOutputStream, but eliminates some data 
checking and copying that are not necessary for what GaloisCounterMode.java and 
ChaCha20Cipher.java need.  

The changes greatest benefit is with decryption operations.  ChaCha20-Poly1305 
had larger performance gains by adopting similar techniques that AES/GCM 
already uses. 

The new buffer shows up to 21% bytes/sec performance increase for decryption 
for ChaCha20-Poly1305 and 12% for AES/GCM.  16K data sizes saw a memory usage 
reduction of 46% with and 83% with ChaCha20-Poly1305.  These results come from 
the JMH tests updated in this request and memory usage using the JMH gc profile 
gc.alloc.rate.norm entry

thanks

Tony

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

Commit messages:
 - set default keylength to cc20's
 - redo perf tests
 - cleanup some comments
 - Remove CC20 test after merge
 - Reduce testcases for GCM, middle set not necessary
 - combine buffer test
 - Mostly done
 - CC20 & GCM working
 - merge
 - initial and untested

Changes: https://git.openjdk.org/jdk/pull/16487/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=16487&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8318756
  Stats: 2900 lines in 15 files changed: 1808 ins; 1050 del; 42 mod
  Patch: https://git.openjdk.org/jdk/pull/16487.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16487/head:pull/16487

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

Reply via email to