Add Starlette: the ASGI framework that powers FastAPI (~12k ⭐)#78
Merged
MDA2AV merged 1 commit intoMDA2AV:mainfrom Mar 23, 2026
Merged
Add Starlette: the ASGI framework that powers FastAPI (~12k ⭐)#78MDA2AV merged 1 commit intoMDA2AV:mainfrom
MDA2AV merged 1 commit intoMDA2AV:mainfrom
Conversation
Starlette 0.46.1 on Uvicorn (uvloop) + Gunicorn multi-worker. Same ASGI stack as FastAPI but without Pydantic/OpenAPI overhead. Pre-computed JSON + gzip caches, thread-local SQLite, orjson.
Collaborator
Author
Collaborator
Author
|
CI is green now ✅ — looks like the port conflict on the runner got resolved. Starlette is ready for benchmarking whenever you want to kick it off! |
Owner
|
/benchmark |
Contributor
|
🚀 Benchmark run triggered for |
Contributor
Benchmark ResultsFramework: Full log |
MDA2AV
approved these changes
Mar 23, 2026
Collaborator
Author
|
Starlette benchmarks are in! Really nice numbers for a pure ASGI framework: Highlights:
The noisy profile at 16384c shows 11.3% unexpected status codes (214K 4xx responses) — worth keeping an eye on, though this might just be uvicorn connection handling under extreme load. Starlette slots in nicely as the fastest pure-Python framework in the arena — ~5.5x Django, and a clear demonstration of why so many Python frameworks build on ASGI. 🐍 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Starlette — The little ASGI framework that shines 🌟
Adds Starlette (~12k ⭐) to HttpArena.
Why Starlette?
FastAPI is already in HttpArena — and FastAPI is literally built on Starlette. Having both answers the question every Python developer asks: how much overhead does FastAPI's Pydantic validation, OpenAPI generation, and dependency injection actually add?
Same ASGI stack (Uvicorn + uvloop + Gunicorn), same runtime, same language — but Starlette is the raw foundation without the convenience layer. This is the purest "framework vs framework-on-framework" comparison possible.
Setup
The Python lineup is now:
cc @tomchristie @alex-grover @aminalaee — would love to see how Starlette stacks up against FastAPI in the benchmarks! The overhead question is one I've been curious about for a while.