TLS Performance Regression in JDK18+

Carter Kozak ckozak at ckozak.net
Mon Oct 31 23:51:45 UTC 2022


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