HttpArena
Frameworks

netcode-http

Experimental · Zig · engine: quic-zig · standard configuration · completeness 4/4

netcode-http's router on quic-zig's event loop, which serves HTTP/1.1, WebSocket and HTTP/3 from one loop: one loop per core, sharing the ports through SO_REUSEPORT. Routes decode their query and body from a typed spec; a WebSocket is a route too, on quic-zig's upgrade and framing. QUIC, TLS 1.3 and HTTP/3 are quic-zig's own, in Zig, with no C library.

Achievements

🥇 2 Gold · 🥈 2 Silver · 🥉 1 Bronze. 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
🥇 GoldWithin its languageZig · WebSocket1 of 4
🥇 GoldTest profileWebSocket · Echo1 of 20
🥈 SilverFamily compositeComposite · WebSocket2 of 20
🥈 SilverTest profileWebSocket · Echo Short-lived2 of 18
🥉 BronzeWithin its languageZig · HTTP/1.13 of 4

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.117 of 263830
WebSocket2 of 202976

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,0963,841,6041.06ms2.24ms6255.4%89MiB
ConnectionPipelined4,0965,362,06412.22ms18.80ms6626.1%85MiB
ConnectionShort-lived4,0962,718,3481.47ms5.08ms6359.3%128MiB
EfficiencyLatency-10K1,0249,98282.3us99.0us22.7%52MiB
EfficiencyLatency-1M1,024997,87794.1us170.0us2276.9%54MiB
EfficiencyLatency-500K/81,024498,7421151.4us12244.0us790.3%23MiB
WebSocketEcho5124,318,221118us299us6120.5%52MiB
WebSocketEcho4,0964,429,976924us1.97ms6405.7%92MiB
WebSocketEcho16,3844,121,0873.96ms7.88ms6400.0%222MiB
WebSocketEcho Pipelined51262,709,511129us359us6439.6%50MiB
WebSocketEcho Pipelined4,09662,749,5771.04ms2.16ms6487.4%92MiB
WebSocketEcho Pipelined16,38459,321,3724.39ms8.79ms6106.8%225MiB
WebSocketEcho Short-lived5122,201,681124us456us5048.8%77MiB
WebSocketEcho Short-lived4,0962,609,1961.02ms1.94ms5911.8%116MiB

Compared with

The Zig entries around netcode-http on the HTTP/1.1 composite, and the one leading them. The last column shows every profile side by side.

EntryCompositevs netcode-http
dusty-tuned7400+93%head to head
zix4789+25%head to head
libxev3863+1%head to head
uWebZockets3748-2%head to head
zeemo3730-3%head to head

Compare netcode-http with any Zig entry · Compare netcode-http with any entry, in any language · Every Zig entry, ranked

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