Cameleeringsimoom

simoom / Compare

Same machine. Losses included.

simoom compared with the HTTP servers you already know

Every comparison here comes from benchmark campaign 4 (2026-11-12): simoom and the other server on the same 4-vCPU cloud machine in the same round, with the load coming at a fixed rate from two other machines. Each page puts the wins and the losses in the same table, and says plainly when the other server is the better choice.

1.5xStatus endpoint, 256 clients: simoom against the median of 18 servers, range 0.94–12x; ahead of 16; behind may-minihttp
1.5xCPU per request at 50,000 req/s: simoom against the median of 18 servers, range 1.17–3.5x; ahead of 18
20xMemory per idle connection, 10,000 open: simoom against the median of 18 servers, range 0.94–49x; ahead of 17; behind nginx
6.4xStart-up to first answer: simoom against the median of 20 servers, range 1.57–762x; ahead of 20

How these comparisons are made

The rules are the same on every page, and they follow the Cameleering practice: no claim without a number.

Measured

  • DigitalOcean c-4 droplets: 4 dedicated vCPUs, Xeon Platinum 8280.
  • Load from two separate machines, open loop: requests keep arriving at a fixed rate, as real traffic does.
  • The main throughput figure is the highest steady rate at which 99% of answers arrive within 1 ms; every ratio is the median of rounds.
  • Only servers on the same droplet are compared: droplets of the same type differ, so simoom runs on every droplet in every round, next to each competitor.

Published

  • Pinned competitor versions, among them hyper 1.12.0, axum 0.8.9, actix-web 4.18.2, may-minihttp 0.1.11, xitca-web 0.7.1, H2O at commit f35c735, Caddy 2.11.9, Envoy 1.40.2; nginx and HAProxy from Ubuntu 24.04's packages.
  • Raw HDR logs, scripts and analyses in the repository under bench/results/.
  • Every loss sits in the same table as the wins.
  • Servers not measured (tiny_http, rouille) get no numbers here.