starlette
Flagship · Python · engine: uvicorn · standard configuration
Starlette 1.6 on uvicorn (uvloop), one worker per core, same uvicorn configuration as the fastapi entry. Routing through Starlette routes, JSON through JSONResponse, gzip through the Starlette GZipMiddleware.
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 | 54 of 71 | 137 |
Every result
Alpha Round, 12 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 | 410,483 | 1.25ms | 2.49ms | 6493.9% | 1.4GiB |
| Connection | Baseline | 4,096 | 412,745 | 9.89ms | 11.80ms | 6375.5% | 1.5GiB |
| Connection | Pipelined | 512 | 505,532 | 16.21ms | 18.60ms | 6536.2% | 1.4GiB |
| Connection | Pipelined | 4,096 | 498,546 | 129.06ms | 183.70ms | 6415.6% | 1.6GiB |
| Connection | Short-lived | 512 | 360,880 | 1.41ms | 3.08ms | 6497.2% | 2.6GiB |
| Connection | Short-lived | 4,096 | 366,311 | 7.82ms | 59.30ms | 6335.0% | 2.6GiB |
| Workload | JSON | 4,096 | 228,623 | 16.26ms | 237.20ms | 6377.2% | 1.8GiB |
| Workload | JSON Comp | 512 | 131,912 | 3.88ms | 8.84ms | 6426.3% | 1.6GiB |
| Workload | JSON Comp | 4,096 | 131,862 | 28.41ms | 411.30ms | 6342.6% | 1.6GiB |
| Workload | JSON Comp | 16,384 | 128,057 | 75.50ms | 662.70ms | 6076.6% | 1.7GiB |
| Workload | Upload | 32 | 2,134 | 14.95ms | 68.50ms | 2323.2% | 1.5GiB |
| Workload | Upload | 256 | 1,558 | 159.24ms | 817.70ms | 6279.8% | 1.7GiB |
How the benchmark is run · The machine · Add or fix an entry