HttpArena
Frameworks

cnetmod

Engine · C++

Cross-platform pure C++23 Modules networking engine using native stackless coroutines, io_uring with epoll fallback, per-loop HTTP/1.1 and HTTP/2, BoringSSL QUIC/HTTP/3, routed WebSocket upgrades, and native gRPC. One image serves HTTP/1.1, WebSocket and gRPC h2c on :8080, TLS HTTP/1.1 on :8081, h2c on :8082, HTTP/2 on :8443/tcp and HTTP/3 on :8443/udp.

Achievements

🥇 11 Gold · 🥈 6 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
🥇 GoldFamily compositeComposite · HTTP/31 of 8
🥇 GoldFamily compositeComposite · gRPC1 of 4
🥇 GoldWithin its languageC++ · HTTP/1.11 of 3
🥇 GoldWithin its languageC++ · HTTP/21 of 3
🥇 GoldWithin its languageC++ · HTTP/31 of 3
🥇 GoldWithin its languageC++ · WebSocket1 of 3
🥇 GoldTest profileHTTP/2 · Baseline1 of 15
🥇 GoldTest profileHTTP/2 · Baseline (h2c)1 of 13
🥇 GoldTest profileHTTP/3 · Static1 of 8
🥇 GoldTest profilegRPC · Unary1 of 4
🥇 GoldTest profilegRPC · Unary TLS1 of 3
🥈 SilverFamily compositeComposite · Gateway2 of 3
🥈 SilverFamily compositeComposite · HTTP/22 of 16
🥈 SilverFamily compositeComposite · WebSocket2 of 20
🥈 SilverTest profileGateway · Gateway (H2)2 of 3
🥈 SilverTest profileHTTP/2 · Static2 of 15
🥈 SilverTest profileHTTP/3 · Baseline2 of 8
🥉 BronzeTest profileWorkload · 8Gbit3 of 24

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.16 of 436176
HTTP/22 of 162884
HTTP/31 of 81769
Gateway2 of 32892
gRPC1 of 42000
WebSocket2 of 202780

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,0963,875,9731.05ms1.47ms6192.7%506MiB
ConnectionPipelined4,09637,527,2141.75ms2.33ms6653.9%512MiB
ConnectionShort-lived4,0962,625,1781.44ms2.84ms6019.8%545MiB
ConcurrencyAsync Delay32,0002,289,84513.88ms15.20ms6446.0%1.5GiB
EfficiencyLatency-10K1,0249,98081.9us110.0us27.6%380MiB
EfficiencyLatency-1M1,024997,92491.6us166.0us2281.6%381MiB
EfficiencyLatency-500K/81,024476,250425610.5us2544640.0us818.3%141MiB
WorkloadJSON Comp4,096615,9246.62ms16.50ms6392.5%1.1GiB
WorkloadJSON Comp16,384611,53026.59ms47.60ms6322.3%2.0GiB
WorkloadJSON TLS4,0961,576,8182.54ms41.12ms6432.6%712MiB
Workload8Gbit51249,38289.5us117.0us232.0%311MiB
WorkloadStatic TLS1,0241,106,208769.65us14.67ms6169.0%442MiB
DatabaseAsync DB1,024341,0352.38ms20.80ms3728.5%538MiB
HTTP/2Baseline25615,086,083864us10.70ms2487.5%329MiB
HTTP/2Baseline1,02414,601,7983.28ms88.55ms2499.9%432MiB
HTTP/2Static2561,507,7044.35ms975.80ms5503.6%643MiB
HTTP/2Static1,0241,448,10117.84ms4.85s6162.5%801MiB
HTTP/2Baseline (h2c)25615,377,216895us23.38ms2410.7%309MiB
HTTP/2Baseline (h2c)1,02415,371,0073.44ms30.54ms2473.3%362MiB
HTTP/2Baseline (h2c)4,09614,041,92513.86ms32.95ms2344.9%823MiB
HTTP/2JSON (h2c)1,0243,776,4848.35ms57.44ms6399.5%646MiB
HTTP/2JSON (h2c)4,0963,652,18734.70ms99.00ms6304.4%1.4GiB
HTTP/3Baseline646,985,194569us1.00ms2936.5%504MiB
HTTP/3Static64877,5834.92ms10.38ms4218.9%583MiB
gRPCUnary2567,475,0392.07ms23.46ms1170.7%310MiB
gRPCUnary1,0247,237,2527.57ms39.84ms1156.6%436MiB
gRPCUnary TLS2567,323,7102.04ms10.70ms1211.4%354MiB
gRPCUnary TLS1,0247,023,7427.29ms84.87ms1260.1%519MiB
GatewayGateway (H2)512379,88042.71ms161.08ms5979.8%2.7GiB
GatewayGateway (H2)1,024375,81783.59ms292.67ms6131.3%3.5GiB
GatewayGateway (H3)6483,15424.49ms85.22ms3021.0%877MiB
GatewayGateway (H3)25658,618135.67ms789.35ms2271.1%1.9GiB
GatewayProduction Stack256259,05416.71ms75.37ms4375.7%1.4GiB
GatewayProduction Stack1,024209,64374.72ms3.59s3911.8%2.3GiB
WebSocketEcho5123,834,710132us445us6487.1%378MiB
WebSocketEcho4,0964,044,2461.00ms3.40ms6265.5%497MiB
WebSocketEcho16,3843,790,5154.28ms12.20ms6165.6%1.0GiB
WebSocketEcho Pipelined51261,765,196131us306us6298.2%373MiB
WebSocketEcho Pipelined4,09663,090,4141.04ms1.33ms6437.3%500MiB
WebSocketEcho Pipelined16,38457,812,1404.50ms5.13ms6110.9%1014MiB
WebSocketEcho Short-lived5122,079,116141us528us5623.9%394MiB
WebSocketEcho Short-lived4,0962,510,4511.12ms2.90ms6293.1%599MiB

Compared with

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

EntryCompositevs cnetmod
aegon7330+19%head to head
hical5804-6%head to head
libuvcpp4994-19%head to head

Compare cnetmod with any C++ entry · Compare cnetmod with any entry, in any language · Every C++ entry, ranked

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