HttpArena
Frameworks

pyronova

Experimental · Python · tuned configuration · completeness 4/4

Pyronova — Python web framework with a Rust core (hyper + tokio + rustls + mimalloc) and PEP 684 sub-interpreter workers for true multi-core parallelism. Opt-in features: gzip/brotli compression, rustls TLS with h2/h1 ALPN, streaming body ingest, async Postgres via sqlx::PgPool. Handlers are standard Python functions routed via decorators.

Achievements

🥇 1 Gold · 🥈 3 Silver. Top three of a field, taken in this entry's own league: the family composite, the same composite among entries written in the same language, and each test profile it is scored on. Every field is the one the badges publish, so a medal and a badge always say the same thing. How medals are awarded.

MedalAwardFieldRank
🥇 GoldTest profileEfficiency · Latency-10K1 of 3
🥈 SilverTest profileHTTP/2 · Static2 of 3
🥈 SilverTest profileWorkload · JSON Comp2 of 3
🥈 SilverTest profileWorkload · JSON TLS2 of 3

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.

FamilyRankComposite
HTTP/1.13 of 32404
HTTP/23 of 3570
gRPC1 of 21698

Every result

Alpha Round, 18 runs. Requests per second is the best of three; latency, CPU and memory come from that run.

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,096825,5344.97ms9.79ms6355.9%1.0GiB
ConnectionPipelined4,0964,171,57215.68ms26.60ms6426.0%997MiB
ConnectionShort-lived4,096325,54012.53ms32.90ms2456.0%1.0GiB
EfficiencyLatency-10K1,0249,98396.8us143.0us48.4%872MiB
EfficiencyLatency-1M1,024757,1842132156.2us8185856.0us6461.1%874MiB
WorkloadJSON Comp4,096463,9588.81ms19.90ms6320.4%1.1GiB
WorkloadJSON Comp16,384450,58936.03ms57.10ms6649.3%1.7GiB
WorkloadJSON TLS4,096780,9485.24ms5.24ms6562.1%1.2GiB
Workload8Gbit51228,6181031006.2us2058752.0us366.6%902MiB
DatabaseAsync DB1,02423,30243.74ms131.70ms761.9%894MiB
HTTP/2Baseline2561,223,69022.35ms22.35ms6298.2%1.0GiB
HTTP/2Baseline1,0241,357,93371.79ms71.79ms6412.9%1.6GiB
HTTP/2Static256288,30129.86ms29.86ms6296.2%1.8GiB
HTTP/2Static1,024267,822109.08ms109.08ms6296.0%2.3GiB
gRPCUnary2565,257,8764.70ms4.70ms6098.4%1.1GiB
gRPCUnary1,0244,149,70423.87ms23.87ms6429.5%1.8GiB
gRPCUnary TLS2565,057,3014.94ms4.94ms5956.6%1.1GiB
gRPCUnary TLS1,0244,015,18724.34ms24.34ms6430.7%1.6GiB

Compared with

The Python entries around pyronova on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.

EntryCompositevs pyronova
fastpysgi-wsgi3148+31%head to head
mq-bridge-py2218-8%head to head
aiohttp2072-14%head to head

Compare pyronova with any Python entry · Compare pyronova with any entry, in any language · Every Python entry, ranked

Results updated · How the benchmark is run · The machine · Add or fix an entry