cryload comparison

August 29, 2026 · View on GitHub

Full feature comparison with other HTTP load testing tools.

Featurecryloadabheyohawrk
LanguageCrystalCGoRustC
Concurrent connections (-c)
Duration / request count (-n)✅ (-t / -n)
JSON / CSV / quiet output for CI/CD— (text)JSONJSON— (text / Lua)
CI thresholds via exit codes (--max-p99, --fail-on-error)
Per-endpoint threshold gates (--url-threshold)
Exit code taxonomy (0/1/2/3/130/143)
Coordinated-omission correction
Latency phase breakdown (DNS/connect/TLS/TTFB)partialpartial
Per-URL / per-status breakdown
Text latency histogram + distributionbasiclimitedTUI-focusedbasic
Global RPS cap (--rate)per-worker (-q)different model
Total request deadline (--request-timeout)
Warmup, proxy, cookies, multi-URL filepartialpartial
Follow redirects, custom success HTTP codespartialpartial
No keep-alive mode (--disable-keepalive)default (enable with -k)✅ (HTTP/1.1)via Lua
Body from string / file / stdin✅ / ✅ / ✅file (-p)✅ / ✅ / —✅ / ✅ / —via Lua
HTTP/2— (HTTP/1.1)✅ (-h2)✅ (--http2)
Multi-core load generation✅ (--workers)✅ (-cpus)✅ (-t)
Scriptable load (Lua, etc.)
Cross-platform binary✅ (Linux, macOS, Windows)LinuxLinux

Coordinated-omission correction is also available in wrk2, the fork that introduced the technique; plain wrk, ab, hey and oha report service time only.

Which tool should I use?

Choose wrk when you need Lua-driven scenarios — request generation, custom protocols, response validation in-process — and maximum tuning on Linux. Choose ab when the classic Apache Bench one-liner is enough — plain-text summaries, GET-heavy checks, and httpd-family packages already on the machine. Choose hey or oha when you need HTTP/2, or when you want oha's live TUI while poking at a service by hand. Choose cryload when you want to gate a pipeline on honest latency: coordinated-omission-corrected percentiles, a threshold matrix that can be scoped per endpoint, an exit code taxonomy that distinguishes a slow service from an unreachable one, and JSON/CSV reports with per-URL, per-status and per-phase breakdowns — in one cross-platform binary that also saturates every core.

Last updated: 2026-08-29