We at wolfSSL have recently been benchmarking the performance of our core TLS read and write functions, wolfSSL_read and wolfSSL_write. With assembly optimizations enabled, read and write throughput can reach well over 1 GB/s! The data in the charts below was collected using an Intel Core i5-7300HQ CPU @ 2.50GHz and Ubuntu 18.04.4 LTS. Server and client were both run on this machine, with each given exclusive access to its own CPU core. Benchmarking was done for both TLS version 1.2 and 1.3. We picked a few widely used ciphers and measured throughput on the client side of the TLS connection after the handshake was complete, transmitting 1 MB to the server and receiving 1 MB back. For each cipher, we did this 1000 times and averaged the throughput in each direction (RX and TX). We collected data using our crypto library (wolfCrypt) built with assembly optimizations (configure option –enable-intelasm) and without. If you’re looking for a high throughput TLS implementation, check out wolfSSL!
If you have any questions or run into any issues, contact us at facts@wolfssl.com, or call us at +1 425 245 8247.