HttpArena
Frameworks

flare

Emerging · Mojo · standard configuration · completeness 4/4

Mojo networking library: HTTP/1.1, HTTP/2, HTTP/3, WebSocket and gRPC on a thread-per-core reactor, with sans-I/O protocol codecs mirrored by Lean 4 models.

Achievements

🥇 2 Gold · 🥈 5 Silver · 🥉 5 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 profileHTTP/3 · Baseline1 of 15
🥇 GoldTest profileWorkload · JSON Comp1 of 78
🥈 SilverFamily compositeComposite · gRPC2 of 8
🥈 SilverTest profileHTTP/2 · JSON (h2c)2 of 21
🥈 SilverTest profileWebSocket · Echo2 of 27
🥈 SilverTest profilegRPC · Unary2 of 8
🥈 SilverTest profilegRPC · Unary TLS2 of 8
🥉 BronzeFamily compositeComposite · HTTP/33 of 15
🥉 BronzeFamily compositeComposite · WebSocket3 of 27
🥉 BronzeTest profileConnection · Short-lived3 of 81
🥉 BronzeTest profileHTTP/2 · Baseline3 of 26
🥉 BronzeTest profileHTTP/2 · Baseline (h2c)3 of 21

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.112 of 815495
HTTP/24 of 262789
HTTP/33 of 151320
gRPC2 of 81449
WebSocket3 of 272420

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,0962,852,3401.43ms24.20ms6643.2%506MiB
ConnectionPipelined4,09614,575,3544.48ms66.30ms6710.2%343MiB
ConnectionShort-lived4,0962,295,3631.76ms9.48ms6480.8%520MiB
EfficiencyLatency-10K1,0249,97974.9us104.0us32.4%152MiB
EfficiencyLatency-1M1,024997,899108.1us195.0us2829.4%301MiB
EfficiencyLatency-500K/81,024418,9591597254.2us3810304.0us793.3%105MiB
WorkloadJSON Comp4,096657,3366.22ms76.10ms6576.1%331MiB
WorkloadJSON Comp16,384643,85124.91ms319.50ms6550.7%552MiB
WorkloadJSON TLS4,096356,38111.43ms108.87ms6296.4%606MiB
Workload8Gbit51249,072109.4us137.0us270.5%202MiB
WorkloadStatic TLS1,024143,2177.16ms43.52ms6386.1%711MiB
HTTP/2Baseline2569,322,1072.52ms18.82ms6320.1%238MiB
HTTP/2Baseline1,0248,815,61211.28ms118.46ms6428.6%553MiB
HTTP/2Static256108,84273.36ms325.07ms6297.3%659MiB
HTTP/2Static1,024107,278287.20ms1.23s6267.5%1.3GiB
HTTP/2Baseline (h2c)2569,663,8362.42ms6.88ms6395.6%236MiB
HTTP/2Baseline (h2c)1,0249,203,10810.64ms80.44ms6358.2%488MiB
HTTP/2Baseline (h2c)4,0969,033,65941.63ms389.71ms6437.0%1.4GiB
HTTP/2JSON (h2c)1,0242,154,45115.39ms86.44ms6290.3%504MiB
HTTP/2JSON (h2c)4,0962,151,04458.05ms904.46ms6462.1%1.2GiB
HTTP/3Baseline645,040,889849us2.07ms3625.5%201MiB
HTTP/3Static6492,72443.72ms115.90ms4151.8%507MiB
gRPCUnary2564,587,2765.38ms13.34ms6379.9%237MiB
gRPCUnary1,0244,421,80122.16ms184.03ms6331.6%504MiB
gRPCUnary TLS2564,502,7235.46ms27.84ms6329.4%252MiB
gRPCUnary TLS1,0244,436,10621.90ms187.98ms6423.4%575MiB
WebSocketEcho5123,870,821131us475us6390.3%147MiB
WebSocketEcho4,0963,988,2481.02ms13.30ms6476.2%194MiB
WebSocketEcho16,3843,950,0424.05ms63.60ms6443.6%364MiB
WebSocketEcho Pipelined51229,827,484273us1.06ms6739.9%140MiB
WebSocketEcho Pipelined4,09633,205,8301.97ms23.80ms6776.5%176MiB
WebSocketEcho Pipelined16,38434,164,7687.54ms75.40ms6382.7%306MiB
WebSocketEcho Short-lived5121,875,608165us702us5752.6%206MiB
WebSocketEcho Short-lived4,0962,117,4051.38ms7.79ms6213.0%269MiB

Compare flare with any entry, in any language · Every Mojo entry, ranked

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