On Fri, 1 Dec 2023 22:42:47 GMT, Anthony Scarpino <ascarp...@openjdk.org> wrote:

>> 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
>
> Anthony Scarpino has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   comments update

src/java.base/share/classes/com/sun/crypto/provider/AEADBufferedStream.java 
line 80:

> 78:             return;
> 79:         }
> 80:         if (buf == null) {

leftover from previous implementation; buf is never null.

src/java.base/share/classes/com/sun/crypto/provider/ChaCha20Cipher.java line 
707:

> 705:         } catch (AEADBadTagException e) {
> 706:             // exception is never thrown by update ops
> 707:             return 0;

Suggestion:

            throw new AssertionError(e);

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16487#discussion_r1413444768
PR Review Comment: https://git.openjdk.org/jdk/pull/16487#discussion_r1413463109

Reply via email to