mirror of
https://github.com/yhirose/cpp-httplib.git
synced 2026-08-21 09:35:02 +00:00
The harness had a single endpoint returning a 12-byte set_content() body. That is the one case where the response line, the headers and the body already share a single write(), so any change to the write path measured as noise. Comparing a gather-write branch against its merge base reported 0.993x at p = 1.000 while the same branch moved static-file throughput by a quarter and TLS throughput by nearly half in both directions. The server now also serves a large set_content() body and small and large files from a mount point, over HTTPS when a certificate is given, with --path, --large-mib and --tls selecting the combination. ab.sh now compiles the harness from the invoking worktree instead of each ref's own copy, so both refs run an identical workload and a ref that predates a harness change stays measurable. Only httplib.h varies, through -I. --timeout is exposed because bombardier's 2s default aborts large TLS responses, which then fails the non-2xx check.