HttpArena
Frameworks

libuvcpp

Emerging · C++ · engine: libuv · standard configuration · completeness 4/4

libuvcpp on the libuv event loop, one loop per available core. Routing, path and query params, static files and WebSocket through uvcpp_web_app, nlohmann/json serialization behind uvcpp_json, gzip through the built-in response compression, and async Postgres through uvcpp_db_pool. HTTP/2 over TLS on 8443 and HTTP/3 on 8443/udp are the same build.

Achievements

🥈 1 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
🥈 SilverTest profileEfficiency · Latency-10K2 of 76
🥉 BronzeWithin its languageC++ · 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.124 of 763373
HTTP/215 of 23604
HTTP/313 of 130
WebSocket10 of 231639

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,0961,141,9793.59ms7.69ms6099.8%113MiB
ConnectionPipelined4,0963,612,23418.18ms36.40ms5953.6%135MiB
ConnectionShort-lived4,096907,7984.39ms84.90ms5545.2%65MiB
ConcurrencyAsync Delay32,000725,20243.77ms69.90ms5367.4%478MiB
EfficiencyLatency-10K1,0249,98379.9us125.0us40.5%59MiB
EfficiencyLatency-1M1,024953,409378158.6us4470784.0us5448.5%63MiB
EfficiencyLatency-500K/81,024254,6624869385.6us10121216.0us776.6%29MiB
WorkloadJSON Comp4,096194,41020.47ms435.10ms6321.2%90MiB
WorkloadJSON Comp16,384192,33456.15ms1.15s6476.5%170MiB
WorkloadJSON TLS4,096370,87210.89ms74.97ms6452.9%646MiB
Workload8Gbit51249,312118.7us167.0us357.4%147MiB
WorkloadStatic TLS1,024115,2398.85ms65.12ms2901.0%302MiB
DatabaseAsync DB1,02483,18911.94ms41.20ms3450.1%173MiB
HTTP/2Baseline2563,416,2628.09ms48.01ms5674.6%108MiB
HTTP/2Baseline1,0243,327,22729.45ms137.09ms5662.9%267MiB
HTTP/2Static256149,78154.51ms207.06ms3334.8%1.3GiB
HTTP/2Static1,024157,097198.71ms728.34ms3425.2%3.7GiB
HTTP/3Baseline645815.14ms35.40ms4.2%52MiB
WebSocketEcho5122,793,537182us426us6755.5%57MiB
WebSocketEcho4,0962,887,7841.42ms2.29ms6681.6%113MiB
WebSocketEcho16,3842,626,0016.15ms7.74ms6657.4%316MiB
WebSocketEcho Pipelined51210,846,084754us3.26ms6392.0%58MiB
WebSocketEcho Pipelined4,09612,632,9575.12ms11.30ms5901.9%115MiB
WebSocketEcho Pipelined16,38410,629,84323.92ms68.50ms6330.8%326MiB
WebSocketEcho Short-lived5121,512,438214us644us5813.7%69MiB
WebSocketEcho Short-lived4,0961,722,414374us801us6144.3%71MiB

Compared with

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

EntryCompositevs libuvcpp
hical6266+86%head to head
drogon4345+29%head to head
cutelyst4322+28%head to head
userver3190-5%head to head
proxygen1227-64%head to head

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

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