p50 497 vs 636 ms. Identical live Claude requests, same Anthropic key on both paths.
p50 497 vs 539 ms. Identical live Claude requests, same Anthropic key on both paths.
Measured end to end against production, not projected. Methodology and full data below.
Identical Claude requests, 30 runs per path, the same Anthropic key on every path (BYOK), same vantage point, measured 2026-08-24. Calling the provider direct is the baseline. Shorter is faster.
| Path | p50 | mean | min | max | vs direct |
|---|---|---|---|---|---|
| Direct to Anthropic | 516 ms | 556 ms | 466 ms | 976 ms | — |
| Through LaneZero | 497 ms | 534 ms | 466 ms | 897 ms | -20 ms (within noise) |
| Through OpenRouter | 539 ms | 604 ms | 452 ms | 1160 ms | +23 ms |
| Through Vercel AI Gateway | 636 ms | 733 ms | 542 ms | 2129 ms | +119 ms |
OpenRouter pinned to the Anthropic upstream for fairness (its default routing sent our first request to Bedrock). Across repeated sessions LaneZero measures indistinguishable from calling the provider direct: anycast routing and connection reuse offset the extra hop. Real network jitter; rerun it and expect variance.
Requests completed per second: identical Claude requests, 3 concurrent workers for 40 s, the same Anthropic key on every path (BYOK), kept well under the key's rate limit so the gateways are the only variable. Longer is faster.
Full percentiles: LaneZero p99 1,458 ms, OpenRouter 1,949 ms, Vercel 1,289 ms. Hosted throughput is capped by the provider key's rate limit, so this cell stays deliberately small.
| Requests | Claude Haiku, non-streaming, identical prompt and max_tokens on every path |
| Keys | One Anthropic key on all paths: LaneZero BYOK, OpenRouter integrations BYOK, Vercel BYOK |
| Latency | 30 runs per path, interleaved rounds, same vantage point, p50 reported |
| Throughput | 3 workers, 40 s per cell, back to back in one session |
Point any load driver at the three endpoints with your own key on each. Ours is in the repo:
cargo run -p raceway-loadtest --release -- --target-url https://api.lanezero.dev \ --auth-header "Authorization: Bearer lz-live_..." --json
If your numbers differ from ours, publish them. That is the point.