Slide 21
Slide 21 text
SPEEDUP SSL IN JAVA
▸ Use JNI to call into OpenSSL/BoringSSL/LibreSSL
▸ Done as SSLEngine implementation (OpenSslEngine) that is part of Netty
▸ Just use it and not worry about writing JNI at all ;)
▸ Support more advanced features like SessionTickets, ALPN etc
BENCHMARK (BUFFERTYPE) (CIPHER) (SSLPROVIDER) MODE CNT SCORE ERROR UNITS
HANDSHAKE HEAP TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 JDK AVGT 20 9830.999 ± 150.306 US/OP
HANDSHAKE HEAP TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 OPENSSL AVGT 20 2578.001 ± 23.596 US/OP
HANDSHAKE DIRECT TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 JDK AVGT 20 10022.284 ± 221.849 US/OP
HANDSHAKE DIRECT TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 OPENSSL AVGT 20 2597.168 ± 49.033 US/OP
OPENSSLENGINE
AVERAGE TIME PER OP (HIGHER == WORSE)