HttpArena
Frameworks

zix

Engine · Zig

Zig HTTP/1.1 server on the zix.Http1 raw engine (no std.http). Shared-nothing: each worker runs its own SO_REUSEPORT multishot accept plus io_uring completion loop and owns its connections. The /json endpoint serves from the per-worker response cache, and request bodies larger than the read buffer are drained rather than buffered.

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. The field is this entry's own league: engines and reverse proxies are scored apart from frameworks. How it works.

FamilyRankComposite
HTTP/1.18 of 34200
HTTP/31 of 3200
gRPC1 of 3397
WebSocket1 of 9293

Every result

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

CategoryProfileConnsReq/secAvgp99CPUMemory
ConnectionBaseline5124,217,982120us231us6348.6%130MiB
ConnectionBaseline4,0964,492,613911us1.19ms6413.1%186MiB
ConnectionPipelined51253,609,380152us344us6399.9%134MiB
ConnectionPipelined4,09655,979,1641.17ms1.79ms6454.4%186MiB
ConnectionShort-lived5122,740,199170us403us5474.7%150MiB
ConnectionShort-lived4,0962,751,0691.35ms1.89ms5783.9%237MiB
WorkloadJSON4,0962,348,626614us2.75ms5365.1%290MiB
WorkloadUpload328,1853.88ms10.90ms1065.4%124MiB
WorkloadUpload2566,66138.12ms45.10ms943.2%130MiB
WorkloadStatic1,0242,025,521300.92us3.21ms5488.4%140MiB
WorkloadStatic4,0962,036,6801.05ms7.16ms5503.2%195MiB
WorkloadStatic6,8001,986,4561.75ms5.18ms5269.1%241MiB
HTTP/3Baseline649,573,685413us757us1283.3%416MiB
HTTP/3Static64611,8903.31ms10.22ms2905.3%403MiB
gRPCUnary2567,184,9502.14ms7.04ms2759.8%177MiB
gRPCUnary1,0247,086,8578.21ms115.65ms2788.5%204MiB
gRPCUnary TLS2566,974,3532.22ms9.41ms2772.0%208MiB
gRPCUnary TLS1,0246,918,9927.64ms70.37ms2777.3%249MiB
gRPCStream649,692,000127.87ms476.08ms33.7%98MiB
gRPCStream TLS649,668,000126.69ms392.10ms36.0%102MiB
WebSocketEcho5124,361,456116us209us6407.8%207MiB
WebSocketEcho4,0964,607,533888us1.18ms6411.3%255MiB
WebSocketEcho16,3844,296,2433.79ms4.41ms6118.7%499MiB
WebSocketEcho Pipelined51260,350,513135us304us6361.1%212MiB
WebSocketEcho Pipelined4,09667,064,433974us2.03ms6176.8%267MiB
WebSocketEcho Pipelined16,38455,172,8064.73ms8.82ms6399.5%500MiB
WebSocketEcho Short-lived5122,260,961115us340us5225.9%178MiB
WebSocketEcho Short-lived4,0962,579,8241.02ms1.75ms5878.9%282MiB

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