HttpArena
Frameworks

dusty

Emerging · Zig · engine: zio · standard configuration · completeness 4/4

Dusty HTTP framework on the zio async runtime (io_uring where available, epoll fallback). Router with params/wildcards, JSON, gzip, WebSocket. Standard configuration, no tuning.

Achievements

🥇 1 Gold · 🥈 3 Silver · 🥉 2 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
🥇 GoldTest profileConnection · Baseline1 of 76
🥈 SilverFamily compositeComposite · HTTP/1.12 of 76
🥈 SilverTest profileEfficiency · Latency-10K2 of 76
🥈 SilverTest profileWebSocket · Echo2 of 23
🥉 BronzeTest profileEfficiency · Latency-1M3 of 76
🥉 BronzeTest profileWorkload · JSON Comp3 of 73

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.12 of 766938
WebSocket5 of 231982

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,0963,309,4881.08ms1.88ms6317.3%198MiB
ConnectionPipelined4,0964,379,90012.90ms30.20ms6160.7%202MiB
ConnectionShort-lived4,0961,930,687788us5.39ms6538.5%64MiB
ConcurrencyAsync Delay32,0002,038,54612.88ms15.80ms5434.1%1.3GiB
EfficiencyLatency-10K1,0249,98373.7us100.0us25.7%69MiB
EfficiencyLatency-1M1,024998,22196.3us198.0us2994.3%69MiB
EfficiencyLatency-500K/81,024415,5351305547.9us7841792.0us794.1%59MiB
WorkloadJSON Comp4,096397,0473.34ms64.80ms6493.6%165MiB
WorkloadJSON Comp16,384395,7033.78ms65.10ms6527.6%260MiB
WorkloadJSON TLS4,096989,9463.62ms74.37ms6491.9%799MiB
Workload8Gbit51249,191116.1us136.0us237.9%133MiB
DatabaseAsync DB1,024290,3263.00ms12.70ms4606.2%117MiB
DatabaseFortunes1,024266,6522.26ms11.60ms5935.4%163MiB
WebSocketEcho5124,122,333123us182us6404.0%49MiB
WebSocketEcho4,0963,984,877980us1.95ms6236.9%200MiB
WebSocketEcho16,3843,667,3491.58ms4.25ms6022.3%407MiB
WebSocketEcho Pipelined5125,098,3391.61ms3.84ms6298.5%47MiB
WebSocketEcho Pipelined4,0965,100,71911.21ms46.20ms6183.2%205MiB
WebSocketEcho Pipelined16,3845,049,02414.79ms50.60ms5981.6%331MiB
WebSocketEcho Short-lived5122,109,272100us263us6540.7%52MiB
WebSocketEcho Short-lived4,0962,054,956137us641us6456.3%89MiB

Compared with

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

EntryCompositevs dusty
nilo7489+8%head to head
swerver7170+3%head to head
zix4794-31%head to head
uWebZockets4030-42%head to head

Compare dusty with any Zig entry · Compare dusty with any entry, in any language · Every Zig entry, ranked

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