TLS Performance Regression in JDK18+

Anthony Scarpino anthony.scarpino at oracle.com
Wed Nov 2 17:51:38 UTC 2022


I see that you ran this on a Xeon W-2175, so that answers that question.

So aside from the question about running it on any other processors, how 
do you run jdk18 on your test.  When I typed './gradlew run' it only ran 
jdk17.

thanks

Tony

On 11/2/22 9:56 AM, Anthony Scarpino wrote:
> Hi Carter,
> 
> Are you running this on an AVX512 machine?  Have you seen/tried to run 
> this on a machine that does not have AVX512, like AVX2 or even aarch64?
> 
> thanks
> 
> Tony
> 
> On 11/1/22 12:19 PM, Anthony Scarpino wrote:
>> Hi Carter,
>>
>> I'll have to review your data more and look into it.
>>
>> thanks
>>
>> Tony
>>
>> On 10/31/22 4:51 PM, Carter Kozak wrote:
>>> Hello,
>>>
>>> TLS performance has appreciably regressed in JDK-18 and JDK-19 from 
>>> earlier releases using TLS_AES_128_GCM_SHA256 and 
>>> TLS_AES_256_GCM_SHA384 ciphers. I suspect the throughput reduction is 
>>> in part related to the substantial increase in allocation per 
>>> operation by roughly the size of the content transferred, even in 
>>> cases where the contents are provided using direct byte-buffers.
>>>
>>> I've created a simple JMH benchmark using the socket API here:
>>> https://github.com/carterkozak/java-crypto-allocation-performance#java-cryptography-allocations
>>>
>>> JMH JSON results across JDK releases are located here:
>>> https://github.com/carterkozak/java-crypto-allocation-performance/tree/develop/jmh-results
>>>
>>> I'm sorry if this has already been reported or is otherwise already 
>>> being tracked. Please let me know if additional information would be 
>>> helpful.
>>>
>>> Best,
>>> Carter Kozak



More information about the security-dev mailing list