30 Oct
2026
30 Oct
'26
2:56 p.m.
Fair point. I measured 13-22 s per TU for the examples (GCC 16, debug) on my machine. In practice, handlers are plain functions and don't include taar, so only the file that registers routes pays the cost. TCP and TLS are separate headers, so you only compile what you use. The binding itself has to be templates, since it is generated from the user's function signatures. But the session, the servers, static files, the OpenAPI writer and the JSON-RPC/MCP dispatch don't need to be. I'm looking at an optional separately-compiled mode for those, the way Asio, Beast, and JSON offer one, with header-only staying the default. I'm profiling the compile to see how much a compiled mode could actually save.