HttpArena
Frameworks

trillium

Emerging · Rust · engine: trillium-http · standard configuration · completeness 4/4

Trillium 1.x async Rust web framework on tokio. trillium-rustls for TLS (h1 + h2 via ALPN), trillium-quinn for HTTP/3, trillium-websockets for /ws, trillium-static for /static/* served from disk per request, trillium-compression middleware for runtime gzip/brotli, trillium-api for JSON handlers, trillium-grpc for the benchmark.BenchmarkService gRPC endpoints, deadpool-postgres for async-db and crud.

Achievements

🥈 1 Silver · 🥉 4 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 profileGateway · Gateway (H3)2 of 3
🥉 BronzeFamily compositeComposite · Gateway3 of 4
🥉 BronzeFamily compositeComposite · HTTP/33 of 7
🥉 BronzeWithin its languageRust · HTTP/23 of 4
🥉 BronzeTest profileHTTP/3 · Static3 of 7

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.120 of 713261
HTTP/29 of 18734
HTTP/33 of 7855
Gateway3 of 41238
gRPC4 of 4377
WebSocket12 of 15397

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline4,096598,4792.81ms9.29ms5941.7%200MiB
ConnectionPipelined4,0962,967,5659.96ms42.90ms6374.3%186MiB
ConnectionShort-lived4,096498,0891.12ms2.28ms2354.3%208MiB
ConcurrencyAsync Delay32,000419,97258.83ms85.40ms3523.8%1.4GiB
EfficiencyLatency-10K1,0249,93666.8us107.0us24.9%152MiB
EfficiencyLatency-1M1,024589,9643457062.5us7366656.0us6085.5%138MiB
EfficiencyLatency-500K/81,024291,4863453795.3us7378944.0us768.2%78MiB
WorkloadJSON Comp4,096116,2847.82ms25.40ms6204.1%775MiB
WorkloadJSON Comp16,384112,8439.45ms33.70ms6026.1%752MiB
WorkloadJSON TLS4,096597,3535.75ms33.80ms6279.4%428MiB
Workload8Gbit51249,089102.5us147.0us255.7%240MiB
WorkloadStatic TLS1,024554,5261.84ms20.79ms6463.5%529MiB
DatabaseAsync DB1,024211,0053.95ms6.09ms3153.2%238MiB
DatabaseFortunes1,024198,9134.19ms6.56ms5015.6%318MiB
HTTP/2Baseline2561,136,70721.20ms101.83ms5363.6%876MiB
HTTP/2Baseline1,0241,132,11556.33ms513.17ms5540.1%2.8GiB
HTTP/2Static25621,679344.50ms1.09s2696.5%1.9GiB
HTTP/2Static1,02418,419975.86ms3.12s3934.4%3.0GiB
HTTP/2Baseline (h2c)2561,162,13621.32ms234.61ms5319.0%845MiB
HTTP/2Baseline (h2c)1,0241,275,95851.42ms524.74ms5510.8%2.3GiB
HTTP/2Baseline (h2c)4,0961,120,404118.28ms1.67s5491.3%6.5GiB
HTTP/2JSON (h2c)1,024980,77324.71ms957.04ms5671.9%1.5GiB
HTTP/2JSON (h2c)4,096904,95877.81ms3.96s5694.3%5.1GiB
HTTP/3Baseline64419,55510.66ms153.56ms2431.4%290MiB
HTTP/3Static64212,26812.04ms123.08ms2492.8%616MiB
gRPCUnary256743,43034.26ms158.45ms5419.6%437MiB
gRPCUnary1,024699,28698.89ms905.71ms5603.2%1.3GiB
gRPCUnary TLS256725,04034.53ms94.49ms5305.1%424MiB
gRPCUnary TLS1,024644,817112.30ms771.08ms5570.0%1.4GiB
GatewayGateway (H2)51282,147183.66ms2.67s5384.2%2.9GiB
GatewayGateway (H2)1,02477,223373.15ms4.31s5062.8%5.3GiB
GatewayGateway (H3)6483,42324.41ms89.75ms4076.1%913MiB
GatewayGateway (H3)25661,706128.98ms796.15ms2818.9%2.4GiB
WebSocketEcho512441,4141.09ms2.47ms3011.7%329MiB
WebSocketEcho4,096353,9944.13ms10.90ms3975.2%571MiB
WebSocketEcho16,384349,9884.91ms12.70ms3444.1%729MiB
WebSocketEcho Pipelined5129,125,228834us2.04ms3597.1%350MiB
WebSocketEcho Pipelined4,0967,903,0783.48ms10.10ms4303.6%688MiB
WebSocketEcho Pipelined16,3847,477,8725.11ms12.40ms3630.8%983MiB
WebSocketEcho Short-lived512269,740746us1.67ms2848.8%476MiB
WebSocketEcho Short-lived4,096272,534797us1.83ms2895.8%542MiB

Compared with

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

EntryCompositevs trillium
actix6880+111%head to head
tokio-uring3462+6%head to head
hyper3345+3%head to head
trillium-tuned3197-2%head to head
rocket3112-5%head to head

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

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