Comparison · same box, run it yourself

Busbar vs LiteLLM Rust

LiteLLM shipped the Beta of their Rust AI Gateway, with GA expected December 2026. It's the right idea, and on raw speed it's a tie. Both are compiled Rust cores, within a few percent on our own same-box benchmark. I'll show you those numbers. They're near the bottom of the page.

But speed was never the point, we just knew it would be a positive side effect of developing in a modern language like Rust. A funded team, three years in, built a Rust gateway that matches the performance of what a 3-month-old startup ships in a single binary. Take that as the floor. Here's the pitch.

What an OpenAI-normalized Rust passthrough can't do

1 · Any protocol in, any protocol out. That's the shape, not the language

Busbar's core is a six-protocol superset IR. OpenAI, Anthropic, Gemini, Bedrock, Cohere, and Responses all map into it and back out, both directions. A signed Bedrock boto3 client can reach a Gemini backend and get a valid Bedrock eventstream back. An OpenAI SDK can reach an Anthropic model and get OpenAI-shaped JSON. Every SDK speaks its native dialect in, every backend gets its native dialect out, and not one line of your application changes. How translation works →

LiteLLM normalizes everything to an OpenAI hub. Their Bedrock ingress load-balances across Bedrock deployments and nothing else. Point that boto3 client at a Gemini model: it can't. Point a Gemini client at a Bedrock model: same answer. This is not a speed problem you fix with Rust. A Rust rewrite of an OpenAI-normalized core is still an OpenAI-normalized core. The shape is the ceiling, and Busbar was built without it.

2 · Governance compiled into the binary, not bolted on in Python

Busbar's Rust core is the control plane. Virtual keys with total, daily, and monthly budgets. RPM and TPM limits. Per-pool ACLs, audit, usage metering. All of it in-process, on the hot path, in one binary.

LiteLLM's Rust gateway carries none of it. It's a bare passthrough, and their governance stays behind in the Python proxy they aren't rewriting. So with LiteLLM you choose one: fast Rust, or governance in Python. Busbar refuses the trade. It ties their latency while it authenticates, meters, and routes on every single request. They only match our speed because they do less on the way through.

And Busbar's governance needs no database to do it: enforcement runs from in-memory counters, so a single node is one binary, no PostgreSQL, no Valkey (Redis-protocol compatible). When you want that state durable or shared across a cluster, 1.5.0 adds drop-in SQLite, Postgres, and Valkey store plugins (signed archives Busbar verifies and loads; no recompile). Optional, not structural. LiteLLM's stack keeps PostgreSQL and Redis as prerequisites of the Python proxy where its governance lives.

3 · Shipped and complete today, not a beta waiting on 2026

All six protocols. Native in-flight failover across protocol families. A plugin system. One static ~11 MB binary. In production, stable, right now.

LiteLLM's Rust core is a single Anthropic /v1/messages endpoint serving only the azure_ai provider, with GA expected December 2026. Everything else still routes through the Python sidecar [1]. AI moves fast. You need the right control plane for your infrastructure today, not in six months.

On raw speed: a tie, both Rust, within a few percent. But speed was never the gap. A gateway forwards bytes. Busbar is a control plane: on every request it decides whose fault a failure was, whether you're inside budget and rate limits, which backend serves it, and whether to fail over mid-stream, all in the compiled hot path at that same speed. Six protocols in and out, governance in the core, shipped today. That isn't a faster gateway, it's a different category. So why run the one that only forwards?

The numbers, for completeness. Speed is a tie

I put both on one box and measured everything. Latency and throughput came out even; they're both compiled Rust, and I'm not going to pretend otherwise. Memory is the one gap, and it's Busbar's: it idles at 7.1796875 MB against LiteLLM Rust's ~253 MB.

Memory: Busbar serves at ~35× lighter idle

Busbar 7.1796875 MiB LiteLLM Rust 252.83203125 MiB
Idle RSS, serving the endpoint. Their floor is high because the serving config embeds CPython and the full litellm package. That's the "Python in the request path" cost their launch post warns about, still there. Why 253, not 21.8 → below.

Added latency & throughput: a tie

Busbar 111 µs LiteLLM Rust 106 µs
p99 added over the upstream, concurrency 1, 85k to 130k samples. Within ~10 µs. A tie.

And Busbar hits that number while authenticating, metering, and routing on every request. Their bare passthrough carries none of it. We match their speed doing strictly more work.

Max proxy RPS (higher better) Busbar 48,236 LiteLLM Rust 46,187 Sustained RPS @ 20 ms Busbar 48,236 LiteLLM Rust 46,187
Sustained req/s at p99 < 1 s, zero errors. Max proxy is raw forwarding. @ 20 ms is concurrency under a realistic model delay. A tie.

Where LiteLLM Rust is the right call

If that's your shape, it's a sensible choice, and I say so without hedging.

If this layer carries all your AI traffic (many protocols in their native dialects, one compliant backend, real failover, governance on the path, one thing to run), that's a control plane, not one accelerated endpoint. Get started in five minutes, read why Busbar exists, or if you're on LiteLLM today, here's how to migrate.

How this page is measured. Unless a figure says otherwise, every number here is from the neutral OSS harness (GetBusbar/benchmarking), an AWS m7g.2xlarge (Graviton3, 4-core pin), run the same way as /performance, measured 2026-07-31. Figures tagged "their published" are that project's own numbers; a core-scaling sweep, where one appears, is a separate test and is labelled as such. And you don't have to take our framing of the results: onthebench.ai publishes the field neutrally, every AI gateway measured identically, side by side, and anyone can re-run it.

References

LiteLLM Rust facts checked against their launch post on 2026-07-20. Something out of date? Tell us and we'll fix it.

  1. LiteLLM Rust launch post: the announcement, early-beta status, staged rollout, Anthropic + Azure-Anthropic /v1/messages only (early beta), and the Python sidecar.
  2. GetBusbar/benchmarking: the public, one-command harness behind every number here. Gateways, mock, load generator, methodology, raw JSON, charts.
  3. Busbar protocols & translation: the six-protocol matrix and how cross-protocol requests are re-encoded natively both ways.