Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.

MetricResultHow
Binary size16.9 MiB (17,721,744 bytes)ls -l target/release/rustiz after cargo build --release --locked -p rustiz
Startup97–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, idle18.8–19.5 MB RSSps -o rss 2 s after startup
RAM, after load25.8 MB RSSps -o rss right after the throughput runs below
Throughput~53,500 req/s (32 clients), ~58,700 req/s (64 clients), 0 failuresab -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:

ClaimBasis
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+ RAMEstimate for a stack that includes Elasticsearch, two Postgres servers, Temporal and a Node.js app. Not measured.
Startup in tens of secondsEstimate. Not measured.

If you have measured Postiz numbers, please open an issue and we’ll replace these estimates.