Add TLS connector/acceptor benchmarks using valgrind
This PR tries to provide a solution for the issue described in #358.
For further details please refer to the documentation in pingora-core/benches/tls_benchmarks.md.
During comparing the TLS implementations I've noticed that there was no option to run multiple instances (e.g. listeners, connectors) in parallel.
Added another set of benchmarks that does parallel checks, starting multiple connectors/acceptors and issuing request in a parallel manner. Enabled DHAT runs to as well have more details on heap usage.
Refactored file layout to start with main() at the top.
Hi @johnhurt,
do you see any value for the future in this PR / setup? For me it has served the purpose for learning and I'm currently not intending to use it any further.
For anyone interested some results in comparing Rustls with OpenSSL using this PR had been published in the Rustls ticket. https://github.com/cloudflare/pingora/issues/29#issuecomment-2343263390
Kind regards, Harald