There are quite a few dimensions to how performance can vary between TLS libraries
Handshake performance covers how quickly new TLS sessions can be set up. There are broadly two kinds of TLS handshake: full and resumed. Full handshake performance will be dominated by the expense of public key crypto -- certificate validation, authentication and key exchange. Resumed handshakes require no or few public key operations, so are much quicker.
Bulk performance covers how quickly application data can be transferred over an already set-up session. Performance here will be dominated by symmetric crypto performance -- the name of the game is for the TLS library to stay out of the way and minimise overhead in the main data path. The data rates concerned are typically many times a typical network link speed.
A TLS library will represent separate sessions in memory while they are in use. How much memory these sessions use will dictate how many sessions can be concurrently terminated on a given server.
This series of blog posts measures and compares the performance of rustls (a TLS library in rust) and OpenSSL.
...
See those posts for details and analysis. To summarise the results, though, we can say approximately:
rustls is 15% quicker to send data.
rustls is 5% quicker to receive data.
rustls is 20-40% quicker to set up a client connection.
rustls is 10% quicker to set up a server connection.
rustls is 30-70% quicker to resume a client connection.
rustls is 10-20% quicker to resume a server connection.
rustls uses less than half the memory of OpenSSL.
https://jbp.io/2019/07/01/rustls-vs-openssl-performance.html