No I’ve never been that great at getting along with other (coders). Much faster to just go where I need to go on my own. Fail. Time to stop being an island, there are far too many compelling shoulders to stand on these days. Strategy shift:

  • my Reusable repo will be for helpers and glue, not for major functionality that can be better found (and maintained!) by others
  • Pick and CONFORM to good libraries. Better to mildly fork them than try to maintain everything myself.

Seems pretty obvious in hindsight. Working with the Causam team, and collaborating on Simple-Web-Server, were the catalysts, thanks guys.

Update: add these awesome ones!

https://pocoproject.org/
https://macchina.io/docs/
http://vinniefalco.github.io/beast/beast/intro/example.html

Goal: find the fastest possible C++ https library that can score an A on the SSLLabs test. Ties broken by ease of use, then by support for websockets.

Initial results (see wiki for latest…):

LIBRARY ab

MB/sec

ab

pages/sec

SSL LABS
SCORE
EASE WS? COMMENTS
apache A 3 N need to write a module, apache remains in charge of message loop (unacceptable)
libwebsockets 7 Y
proxygen 7 only easy to build on ubuntu so hasn’t been stood up on my gentoo server yet; huge kitchen sink of helpers
Simple-Web-Server  B 10 Y websockets in a seperate compatible project; may be able to leverage asio to improve score (capped by RC4); no forward secrecy
websocketpp  uses asio, specifies a “modern” mode that only allows TSL1.2
mongoose 3 messy ton of hand-crafted portability C code scared me off
onion looks like a strong C lib
libmicrohttpd GNU c lib, not sure it supports modern algos, check score…