paozhu
Experimental · C++ · standard configuration · completeness 4/4
Paozhu C++20 web framework on standalone Asio, built from the upstream mini_project.sh clean scaffold. Annotated controller routes answer /baseline11, /baseline2, /pipeline, /json/{count}?m={multiplier}, /static/{filename}, /delay/{ms}, /async-db?min=&max=&limit= and /fortunes; the dataset is parsed once at startup and serialized per request, static files are read from /data/static with bodies cached in-process via pzcache (revalidated by a per-request stat of mtime+size), and the DB routes use paozhu's own async Postgres driver. Two server instances share the image: plaintext HTTP/1.1 on :8080 and ALPN h2 on :8443, plus a second instance whose TLS listener on :8081 advertises only http/1.1 for json-tls and whose cleartext :8082 listener serves h2c prior-knowledge for json-h2c.
Composite rank
Each profile of a family is worth 100 to the entry that leads it, and the composite is the sum over the family, less 2.5% for each of routing, middleware, request and response the entry does not do for you - its completeness factor, which the WebSocket and gRPC families do not carry. The field is this entry's own league: engines and reverse proxies are scored apart from frameworks. How it works.
| Family | Rank | Composite |
|---|---|---|
| HTTP/1.1 | 25 of 29 | 2641 |
| HTTP/2 | 15 of 15 | 74 |
Every result
Alpha Round, 16 runs. Requests per second is the best of three; latency, CPU and memory come from that run.
| Category | Profile | Conns | Req/sec | Avg | p99 | CPU | Memory |
|---|---|---|---|---|---|---|---|
| Connection | Baseline | 4,096 | 2,166,876 | 1.90ms | 4.04ms | 6653.1% | 142MiB |
| Connection | Pipelined | 4,096 | 3,087,493 | 21.27ms | 33.60ms | 6632.4% | 131MiB |
| Connection | Short-lived | 4,096 | 437,320 | 9.31ms | 94.00ms | 3160.1% | 72MiB |
| Concurrency | Async Delay | 32,000 | 1,363,166 | 21.48ms | 31.90ms | 5777.9% | 602MiB |
| Efficiency | Latency-10K | 1,024 | 9,981 | 80.2us | 105.0us | 46.2% | 67MiB |
| Efficiency | Latency-1M | 1,024 | 997,557 | 159.7us | 504.0us | 4637.2% | 81MiB |
| Efficiency | Latency-500K/8 | 1,024 | 341,063 | 3171722.5us | 6621184.0us | 806.2% | 72MiB |
| Workload | JSON TLS | 4,096 | 204,975 | 22.37ms | 357.64ms | 797.2% | 449MiB |
| Database | Async DB | 1,024 | 90,578 | 10.86ms | 54.70ms | 2572.2% | 86MiB |
| Database | Fortunes | 1,024 | 49,685 | 19.63ms | 96.30ms | 2963.0% | 87MiB |
| HTTP/2 | Baseline | 256 | 177,645 | 140.87ms | 1.98s | 2678.4% | 622MiB |
| HTTP/2 | Baseline | 1,024 | 164,777 | 515.30ms | 4.97s | 2634.7% | 2.1GiB |
| HTTP/2 | Static | 256 | 58,246 | 137.58ms | 2.48s | 2083.6% | 1.7GiB |
| HTTP/2 | Static | 1,024 | 56,193 | 521.81ms | 4.96s | 2176.9% | 5.8GiB |
| HTTP/2 | JSON (h2c) | 1,024 | 137,265 | 225.70ms | 3.67s | 853.9% | 1.5GiB |
| HTTP/2 | JSON (h2c) | 4,096 | 84,593 | 1.31s | 4.98s | 724.3% | 5.0GiB |
Compared with
The C++ entries around paozhu on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs paozhu | |
|---|---|---|---|
| aegon | 7228 | +174% | head to head |
| cutelyst | 4219 | +60% | head to head |
| userver | 3025 | +15% | head to head |
| proxygen | 1225 | -54% | head to head |
| proxygen-coro | 1072 | -59% | head to head |
Compare paozhu with any C++ entry · Compare paozhu with any entry, in any language · Every C++ entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry