HttpArena
Frameworks

rama

Flagship · Rust · engine: rama-http-core · standard configuration · completeness 4/4

Rama 0.4 on the multi-threaded Tokio runtime, default configuration. Routing and path/query/body extractors through the rama web Router, JSON via its Json response, compression through the rama CompressionLayer, static files through ServeDir, TLS via rustls and WebSocket via the rama-ws acceptor.

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.132 of 843174
HTTP/227 of 30163
WebSocket27 of 29338

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,096763,6491.51ms4.91ms6308.5%98MiB
ConnectionPipelined4,0964,763,8926.95ms37.90ms6270.2%138MiB
ConnectionShort-lived4,096497,982488us2.21ms2320.5%71MiB
ConcurrencyAsync Delay32,000324,74122.47ms49.60ms3955.3%392MiB
EfficiencyLatency-10K1,0249,90074.3us111.0us25.2%65MiB
EfficiencyLatency-1M1,024659,5963170207.5us6518784.0us6248.4%74MiB
EfficiencyLatency-500K/81,024320,4823366189.1us6883328.0us782.8%41MiB
WorkloadJSON Comp4,096233,3943.04ms7.59ms6109.2%149MiB
WorkloadJSON Comp16,384223,0492.45ms8.04ms5655.1%163MiB
WorkloadJSON TLS4,096620,5204.62ms59.12ms5933.0%330MiB
Workload8Gbit51249,046111.2us159.0us298.6%115MiB
WorkloadStatic TLS1,02421,47334.39ms332.03ms3658.5%226MiB
HTTP/2Baseline256327,51974.93ms289.17ms1933.9%352MiB
HTTP/2Baseline1,024281,193259.46ms1.04s1899.6%1019MiB
HTTP/2Static25616,598469.90ms1.25s3959.8%672MiB
HTTP/2Static1,02414,9351.50s3.56s3672.0%1.4GiB
HTTP/2Baseline (h2c)256333,26371.28ms280.02ms1945.7%351MiB
HTTP/2Baseline (h2c)1,024275,386241.19ms1.00s1875.4%991MiB
HTTP/2Baseline (h2c)4,096285,844455.64ms2.05s1873.9%2.2GiB
HTTP/2JSON (h2c)1,024230,264116.88ms817.99ms2428.5%472MiB
HTTP/2JSON (h2c)4,096173,201309.06ms3.07s1923.6%901MiB
WebSocketEcho512433,3551.10ms2.50ms3104.0%108MiB
WebSocketEcho4,096351,6363.89ms10.80ms3660.2%403MiB
WebSocketEcho16,384348,1028.71ms15.80ms3866.9%604MiB
WebSocketEcho Pipelined5128,480,789917us2.30ms3658.5%131MiB
WebSocketEcho Pipelined4,0967,503,7692.15ms5.32ms3801.1%302MiB
WebSocketEcho Pipelined16,3845,970,23918.11ms28.10ms4610.8%1.1GiB
WebSocketEcho Short-lived512258,293678us1.64ms2458.1%148MiB
WebSocketEcho Short-lived4,096264,460678us1.67ms2483.6%152MiB

Compared with

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

EntryCompositevs rama
cpeak7354+132%head to head
tokio-uring3416+8%head to head
hyper3297+4%head to head
rocket2859-10%head to head
salvo2360-26%head to head

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

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