sanic
Flagship · Python · tuned configuration · completeness 4/4
Sanic 25.3 on its own server with uvloop and httptools, one worker per core through the Sanic worker manager. Routing through the Sanic router, JSON through the ujson response, streamed uploads. Sanic ships no compression middleware, so gzip is hand-rolled in a response middleware, hence tuned.
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 | 68 of 93 | 1630 |
Every result
Alpha Round, 9 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 | 611,737 | 5.10ms | 6.42ms | 6380.3% | 1.6GiB |
| Connection | Pipelined | 4,096 | 1,372,143 | 28.00ms | 50.70ms | 6346.4% | 1.6GiB |
| Connection | Short-lived | 4,096 | 523,366 | 2.13ms | 5.10ms | 6391.0% | 1.6GiB |
| Concurrency | Async Delay | 32,000 | 684,066 | 21.45ms | 47.90ms | 5674.3% | 2.1GiB |
| Efficiency | Latency-10K | 1,024 | 9,982 | 193.4us | 305.0us | 144.8% | 1.9GiB |
| Efficiency | Latency-1M | 1,024 | 638,771 | 3142220.9us | 10530816.0us | 6505.0% | 1.9GiB |
| Efficiency | Latency-500K/8 | 1,024 | 95,973 | 6874418.4us | 15314944.0us | 767.9% | 343MiB |
| Workload | JSON Comp | 4,096 | 172,836 | 12.26ms | 33.20ms | 6368.1% | 1.6GiB |
| Workload | JSON Comp | 16,384 | 169,305 | 20.02ms | 95.10ms | 6065.9% | 1.7GiB |
Compared with
The Python entries around sanic on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.
| Entry | Composite | vs sanic | |
|---|---|---|---|
| fastpysgi-wsgi | 3148 | +93% | head to head |
| aiohttp | 2072 | +27% | head to head |
| blackbull | 1658 | +2% | head to head |
| starlette | 1624 | -0% | head to head |
| uvicorn | 1518 | -7% | head to head |
Compare sanic with any Python entry · Compare sanic with any entry, in any language · Every Python entry, ranked
Results updated · How the benchmark is run · The machine · Add or fix an entry