iris
Engine · C++ · engine: epoll
Thread-per-core C++ HTTP/1.1 gateway on epoll/SO_REUSEPORT with a hand-written incremental parser. Zero-allocation steady state: fixed per-connection buffers, precomputed response templates, per-request JSON serialization from the mounted dataset, static assets served via precompressed .br/.gz negotiation with Linux sendfile from sealed memfd responses, streaming POST /upload body counting, OpenSSL TLS on :8081 for json-tls, and async libpq for async-db.
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. 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 | 3 of 34 | 379 |
Every result
Alpha Round, 14 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 | 512 | 3,822,806 | 133us | 402us | 5379.5% | 111MiB |
| Connection | Baseline | 4,096 | 4,025,988 | 1.02ms | 2.18ms | 5964.1% | 162MiB |
| Connection | Pipelined | 512 | 37,081,286 | 220us | 415us | 6410.6% | 99MiB |
| Connection | Pipelined | 4,096 | 36,933,660 | 1.77ms | 3.46ms | 6473.5% | 176MiB |
| Connection | Short-lived | 512 | 2,571,231 | 183us | 618us | 5348.3% | 117MiB |
| Connection | Short-lived | 4,096 | 2,853,732 | 1.31ms | 2.01ms | 5596.0% | 222MiB |
| Workload | JSON | 4,096 | 1,886,152 | 1.17ms | 7.06ms | 4667.7% | 434MiB |
| Workload | JSON TLS | 4,096 | 1,675,850 | 2.84ms | 218.57ms | 6106.0% | 391MiB |
| Workload | Upload | 32 | 3,028 | 10.53ms | 40.40ms | 1811.1% | 102MiB |
| Workload | Upload | 256 | 2,992 | 77.61ms | 225.50ms | 3377.7% | 126MiB |
| Workload | Static | 1,024 | 1,771,673 | 493.72us | 4.96ms | 4033.8% | 111MiB |
| Workload | Static | 4,096 | 2,105,862 | 1.26ms | 9.60ms | 5346.0% | 193MiB |
| Workload | Static | 6,800 | 1,880,392 | 2.71ms | 19.25ms | 4200.7% | 281MiB |
| Database | Async DB | 1,024 | 363,257 | 2.21ms | 10.50ms | 3032.0% | 183MiB |
How the benchmark is run · The machine · Add or fix an entry