Python web framework benchmarks: performance comparison
The fastest Python HTTP server in HttpArena is fastpysgi-wsgi (an HTTP engine), with a composite of 3148 on HTTP/1.1 — 16 of 26 against every language in its league. Measured over Alpha Round, every entry on the same machine. The quickest Python framework is pyronova, at 2404.
Compare any two Python entries profile by profile →
Every Python entry in the benchmark, compared on the composite score of each family. The composite sums a normalized score over the profiles of that family, where the leader of each profile scores 100, and scales the sum by the entry's completeness factor. Rank overall is the entry's place in its own league across all languages; rank among Python narrows the same field to this language. Both link through to the board view they were taken in. How the score works.
Composite scores compare directly across every row. Ranks do not always share a field: a tuned entry has no place in the standard-only ranking, so its rank is taken from the field that includes tuned entries and counts more of them.
HTTP/1.1
| Framework | Type | Composite | Rank overall | Rank among Python |
|---|---|---|---|---|
| fastpysgi-wsgi | Engine | 3148 | 16 of 26 | 1 of 3 |
| pyronova | Experimental tuned | 2404 | 3 of 3 | — |
| mq-bridge-py | Emerging | 2219 | 37 of 71 | 1 of 9 |
| aiohttp | Flagship | 2072 | 39 of 71 | 2 of 9 |
| blackbull | Emerging | 1658 | 51 of 71 | 3 of 9 |
| sanic | Flagship tuned | 1630 | 68 of 93 | 4 of 12 |
| starlette | Flagship | 1624 | 52 of 71 | 4 of 9 |
| uvicorn | Engine | 1518 | 21 of 26 | 2 of 3 |
| litestar | Flagship | 1504 | 53 of 71 | 5 of 9 |
| fastpysgi-asgi | Engine | 1362 | 22 of 26 | 3 of 3 |
| fastapi | Flagship | 1286 | 58 of 71 | 6 of 9 |
| robyn | Emerging | 892 | 64 of 71 | 7 of 9 |
| slimeweb | Emerging tuned | 865 | 84 of 93 | 9 of 12 |
| flask | Flagship | 343 | 69 of 71 | 8 of 9 |
| bottle | Flagship tuned | 289 | 91 of 93 | 11 of 12 |
| django | Flagship | 227 | 70 of 71 | 9 of 9 |
HTTP/2
| Framework | Type | Composite | Rank overall | Rank among Python |
|---|---|---|---|---|
| mq-bridge-py | Emerging | 614 | 10 of 18 | 1 of 2 |
| pyronova | Experimental tuned | 570 | 3 of 3 | — |
| blackbull | Emerging | 145 | 16 of 18 | 2 of 2 |
gRPC
| Framework | Type | Composite | Rank overall | Rank among Python |
|---|---|---|---|---|
| pyronova | Experimental tuned | 1698 | 1 of 2 | — |
WebSocket
| Framework | Type | Composite | Rank overall | Rank among Python |
|---|---|---|---|---|
| blackbull | Emerging | 182 | 14 of 15 | — |
Questions
What is the fastest Python HTTP server?
fastpysgi-wsgi, an HTTP engine, leads the Python entries in HttpArena with a composite score of 3148 on HTTP/1.1, measured over Alpha Round. The composite sums a normalized score across the profiles of a family, where the leader of each profile scores 100. Against every language, fastpysgi-wsgi ranks 16 of 26 in its own league.
What is the fastest Python web framework?
pyronova, with a composite of 2404 on HTTP/1.1. fastpysgi-wsgi scores higher but is an HTTP engine, not a framework, and is ranked in its own league.
What is the fastest Python HTTP/2 server?
mq-bridge-py, with a composite of 614 on HTTP/2 and 10 of 18 against all languages in its league.
What is the fastest Python gRPC server?
pyronova, with a composite of 1698 on gRPC and 1 of 2 against all languages in its league.
What is the fastest Python WebSocket server?
blackbull, with a composite of 182 on WebSocket and 14 of 15 against all languages in its league.
How many Python web frameworks are benchmarked?
16 Python entries are measured, covering HTTP/1.1, HTTP/2, gRPC, WebSocket. Every one runs on the same machine, in the same round (Alpha Round), against the same profiles.
Is Python fast for web servers?
The quickest Python entry, fastpysgi-wsgi, places 16 of 26 on HTTP/1.1 across every language in its league, so that placing is the honest answer for Python at its best rather than for Python in general. The tables below show the spread across all 16 entries.
Every Python entry
- aiohttp
- blackbull
- bottle
- django
- fastapi
- fastpysgi-asgi
- fastpysgi-wsgi
- flask
- litestar
- mq-bridge-py
- pyronova
- robyn
- sanic
- slimeweb
- starlette
- uvicorn
Other languages
C · C# · C++ · Clojure · D · Dart · Elixir · Erlang · F# · Go · Haskell · Java · JS · Julia · Kotlin · Lua · Luau · Perl · PHP · Ruby · Rust · Scala · Swift · TS · Zig
Results updated · Alpha Round · Compare two Python entries · All languages · Open the leaderboard