Scales to 156k+ req/s on 16 cores
One static binary. Linear with cores. Microseconds of overhead, single-digit-MB idle.
Add cores, add capacity — linearly
Busbar's request path is CPU-bound on the work that matters (parse, translate, serialize) and nothing else — no GC, no database in the hot path, no per-request lock. So throughput tracks the cores you give it, in a straight line. Measured on one c7g.8xlarge (32 vCPU Graviton3), driving unique requests through a fast upstream (so every request is real proxy work, not a cache hit):
busbar;dur, amber) stays flat at
~33 µs no matter the load. 2 cores
19k → 16 cores 156k,
100% success, on one c7g.8xlarge box.
And it stays flat and fast until it runs out of CPU — not until it falls over. At
16 cores busbar delivers every request you offer, at sub-millisecond added
latency (~33 µs p99), right up to the full 156k/s; past
that it's simply out of CPU budget (add cores and the ceiling moves up), never
unstable. Busbar reports its own added time in-band on every response
(Server-Timing: busbar;dur), so you can read the 33 µs on your own
traffic instead of trusting us.
How that stacks up
We stand on our own numbers — but here's the short version against the two alternatives people ask about most. Two separate comparisons to Busbar, not a ranking of Bifrost against LiteLLM. Figures we measured are tagged we measured; each project's own published figures their published.
Two kinds of number, labelled as such: the Bifrost figures we measured ourselves
on identical hardware (same box, same fast upstream, unique traffic so it's real proxy work — not
a cache hit); the LiteLLM figures are their own published numbers on their own
hardware, taken at their word. Every Busbar number reads from one version-stamped source
(facts.ts) and is re-measured each release — the full method and raw data are linked
below.