HttpArena
Frameworks

wtx

Emerging · Rust · standard configuration

WTX - gRPC Server

Achievements

🥇 7 Gold · 🥈 4 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 · gRPC1 of 4
🥇 GoldWithin its languageRust · HTTP/21 of 4
🥇 GoldWithin its languageRust · WebSocket1 of 4
🥇 GoldTest profileWebSocket · Echo1 of 15
🥇 GoldTest profileWebSocket · Echo Short-lived1 of 6
🥇 GoldTest profilegRPC · Unary1 of 4
🥇 GoldTest profilegRPC · Unary TLS1 of 4
🥈 SilverFamily compositeComposite · HTTP/22 of 18
🥈 SilverFamily compositeComposite · WebSocket2 of 15
🥈 SilverTest profileHTTP/2 · Baseline2 of 17
🥈 SilverTest profileHTTP/2 · JSON (h2c)2 of 14
🥉 BronzeTest profileHTTP/2 · Baseline (h2c)3 of 14

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/22 of 181799
gRPC1 of 42000
WebSocket2 of 152448

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
HTTP/2Baseline2564,077,5165.03ms69.51ms5806.0%732MiB
HTTP/2Baseline1,0243,827,10023.44ms345.82ms6351.4%978MiB
HTTP/2Baseline (h2c)2564,125,7446.53ms25.87ms6419.7%708MiB
HTTP/2Baseline (h2c)1,0243,852,56225.82ms130.96ms6446.0%991MiB
HTTP/2Baseline (h2c)4,0963,709,205107.63ms611.62ms6389.5%2.0GiB
HTTP/2JSON (h2c)1,0241,875,72116.96ms233.54ms6551.1%473MiB
HTTP/2JSON (h2c)4,0961,771,44172.15ms571.49ms6575.2%939MiB
gRPCUnary2563,990,7086.55ms69.93ms6379.2%727MiB
gRPCUnary1,0243,620,97026.89ms193.30ms6383.3%1022MiB
gRPCUnary TLS2563,688,5325.19ms49.74ms5485.4%726MiB
gRPCUnary TLS1,0243,625,91822.35ms345.55ms6380.6%984MiB
WebSocketEcho5124,131,449123us279us6324.4%41MiB
WebSocketEcho4,0964,160,268984us1.41ms6480.3%121MiB
WebSocketEcho16,3843,732,8754.38ms5.85ms6257.3%375MiB
WebSocketEcho Pipelined51220,163,386405us849us6500.0%39MiB
WebSocketEcho Pipelined4,09620,110,4833.26ms4.17ms6596.5%120MiB
WebSocketEcho Pipelined16,38418,721,00313.90ms28.30ms6031.9%378MiB
WebSocketEcho Short-lived5122,101,061145us521us5314.3%73MiB
WebSocketEcho Short-lived4,0962,591,0181.05ms2.46ms5950.6%212MiB

Compared with

The Rust entries around wtx on the HTTP/2 composite, and the one leading them. The last column shows every profile side by side.

EntryCompositevs wtx
actix1608-11%head to head
trillium-tuned1023-43%head to head

Compare wtx with any Rust entry · Compare wtx with any entry, in any language · Every Rust entry, ranked

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