Scales to 209k+ req/s on 16 cores

One static binary, linear with cores. Microseconds of added latency, single-digit-MB idle.

Throughput 13,050+ rps per core · 209,214 on 16 cores, measured, linear · c7g.8xlarge (v1.5.1)
Added latency 83 µs end-to-end p99, gateway − direct · onthebench m7g field box (v1.5.5)
Memory 7.4 MiB resident, idle · one static binary (v1.5.5)

Add cores, add capacity, linearly

Busbar's request path is CPU-bound (parse, translate, serialize), no GC and no database in the hot path, so throughput scales linearly with cores.

req/s (scales linearly) processing time · busbar;dur (flat)
0100k200k 04590 246810121416 CPU cores → 2 cores · 21,626 req/s · 100% success · 57.7 MB · processing time 22/35 µs (busbar;dur p50/p99) 4 cores · 47,880 req/s · 100% success · 99.5 MB · processing time 21/33 µs (busbar;dur p50/p99) 6 cores · 74,514 req/s · 100% success · 92.9 MB · processing time 22/33 µs (busbar;dur p50/p99) 8 cores · 103,984 req/s · 100% success · 97.3 MB · processing time 22/34 µs (busbar;dur p50/p99) 10 cores · 132,313 req/s · 100% success · 86.1 MB · processing time 21/32 µs (busbar;dur p50/p99) 12 cores · 161,630 req/s · 100% success · 91 MB · processing time 21/33 µs (busbar;dur p50/p99) 14 cores · 187,510 req/s · 100% success · 96.3 MB · processing time 21/32 µs (busbar;dur p50/p99) 16 cores · 209,214 req/s · 100% success · 91.7 MB · processing time 20/31 µs (busbar;dur p50/p99) 2 cores · processing time 22 µs p50 / 35 µs p99 (busbar;dur, concurrency 1; CPU, not latency) 4 cores · processing time 21 µs p50 / 33 µs p99 (busbar;dur, concurrency 1; CPU, not latency) 6 cores · processing time 22 µs p50 / 33 µs p99 (busbar;dur, concurrency 1; CPU, not latency) 8 cores · processing time 22 µs p50 / 34 µs p99 (busbar;dur, concurrency 1; CPU, not latency) 10 cores · processing time 21 µs p50 / 32 µs p99 (busbar;dur, concurrency 1; CPU, not latency) 12 cores · processing time 21 µs p50 / 33 µs p99 (busbar;dur, concurrency 1; CPU, not latency) 14 cores · processing time 21 µs p50 / 32 µs p99 (busbar;dur, concurrency 1; CPU, not latency) 16 cores · processing time 20 µs p50 / 31 µs p99 (busbar;dur, concurrency 1; CPU, not latency) 209k req/s ~33 µs, flat
c7g.8xlarge, 2→16 cores, unique requests, 100% success: throughput (green) climbs linearly, ~13,050+ req/s per core, while processing time (amber, busbar;dur: CPU, not latency) stays flat at ~33 µs, reported in-band on every response (v1.5.1).
This is a single-box linearity demo: the load generator and mock run on the same 32-core box as Busbar (8 cores each), so this per-core rate is conservative, depressed by co-located contention rather than a clean ceiling. The isolated per-core ceiling is a separate experiment: ~16,765 req/s per core, Busbar alone on a 4-core pin with no co-tenant load (onthebench (v1.5.5)).

How that stacks up

We stand on our own numbers, but here's the short version against the two alternatives people ask about most. Figures we measured are tagged we measured; each project's own published figures their published.

Our benchmark: one clean box per gateway we measured

Every gateway on its own fresh, identical box: one dedicated machine each, so no run bleeds into the next. Live on the neutral field at onthebench.ai.

GatewayAdded latency (end-to-end) p99Throughput (RPS)Memory idle / peak
BusbarBusbar 83 µs 67,059 7.422 / 23 MiB
LiteLLM · Rust 106 µs 48,354 252.621 / 258 MiB
AISIX (api7) 170 µs 34,945 99.969 / 133 MiB
Higress 234 µs 26,098 876.25 / 883 MiB
agentgateway 235 µs 24,672 24.844 / 47 MiB
Helicone 294 µs 14,941 42.898 / 57 MiB
APISIX 343 µs 29,172 189.602 / 227 MiB
Kong 389 µs 21,520 403.473 / 621 MiB
Bifrost 1,029 µs 4,791 216.934 / 906 MiB
GoModel 2,309 µs 1,738 50.797 / 86 MiB
Portkey 3,720 µs 855 123.848 / 249 MiB
LiteLLM · Python 8,143 µs 163 744.813 / 779 MiB

Added latency = gateway p99 − direct-to-mock p99 (c1). Throughput = sustained RPS at a realistic 20 ms model delay. Memory = idle / peak RSS under load; did not serve = couldn't hold the endpoint. Measured 2026-08-26.

Busbar's own compute is 33 µs (busbar;dur p99, 16-core c7g.8xlarge scaling run). The benchmark's 83 µs is end-to-end p99 on an AWS m7g.4xlarge (Graviton3, 4-core pin).
0 µsClient Busbar AI
83 µsClient Busbar AI

Green is Busbar's real work, timed on its own clock (busbar;dur), no wire in it. Grey is kernel + TCP time every proxy pays; co-locate Busbar with your app and it's sub-millisecond, and against an ~800 ms model call all of it vanishes.

we measured is our number on identical hardware; their published is that project's own figure, taken at their word.