Benchmarks
The numbers quoted on the Rustiz website, and how they were measured. Rerun them on your own hardware before relying on them.
Rustiz (measured)
Measured on 2026-11-08 on an Apple M4 Mac (macOS, arm64), from
commit 3102e77, with the release profile (lto = "fat", codegen-units = 1,
strip = true, panic = "abort"), an empty database, and the load client on
the same machine.
| Metric | Result | How |
|---|---|---|
| Binary size | 16.9 MiB (17,721,744 bytes) | ls -l target/release/rustiz after cargo build --release --locked -p rustiz |
| Startup | 97–128 ms to the first /health → ok (7 cold starts, median 125 ms) | A script starts rustiz serve and polls /health every millisecond; this includes the polling overhead |
| RAM, idle | 18.8–19.5 MB RSS | ps -o rss 2 s after startup |
| RAM, after load | 25.8 MB RSS | ps -o rss right after the throughput runs below |
| Throughput | ~53,500 req/s (32 clients), ~58,700 req/s (64 clients), 0 failures | ab -k -c 32 -n 40000 -H "Authorization: Bearer <key>" http://127.0.0.1:5077/public/v1/integrations, with REQUEST_LIMIT=0 API_LIMIT=0 |
What this measures: an authenticated API call that reads the database (an
empty channel list), with keep-alive, on loopback. It does not measure
publishing, which is bound by the platforms’ APIs and rate limits, or MCP
calls, which carry more JSON-RPC overhead. An earlier run in the project
README measured MCP integrationList calls with a Python client at about
18,900 req/s, and that client may have been the bottleneck.
The binary is not fully static. On macOS it links the system’s libSystem,
Security and CoreFoundation, and nothing else needs installing.
Reproduce
cargo build --release --locked -p rustiz
export RUSTIZ_CONFIG=/tmp/rzbench/config.env PORT=5077 FRONTEND_URL=http://127.0.0.1:5077
target/release/rustiz init --dir /tmp/rzbench
REQUEST_LIMIT=0 API_LIMIT=0 target/release/rustiz serve &
KEY=$(grep RUSTIZ_API_KEY /tmp/rzbench/config.env | cut -d= -f2)
ab -k -c 32 -n 40000 -H "Authorization: Bearer $KEY" http://127.0.0.1:5077/public/v1/integrations
ps -o rss= -p $!
Postiz (not measured)
The Postiz figures on the website are estimates, not measurements:
| Claim | Basis |
|---|---|
| 9 services (8 started by default) | Counted from the official gitroomhq/postiz-docker-compose file on 2026-11-08: postiz, postiz-postgres, postiz-redis, temporal, temporal-postgresql, temporal-elasticsearch, temporal-admin-tools, temporal-ui, and spotlight (debug profile only). |
| ~2–4 GB+ RAM | Estimate for a stack that includes Elasticsearch, two Postgres servers, Temporal and a Node.js app. Not measured. |
| Startup in tens of seconds | Estimate. Not measured. |
If you have measured Postiz numbers, please open an issue and we’ll replace these estimates.