Test payments — no real charges.
Skip to content
Performance

The time the relay adds.

We measure the time Renio adds: the difference between going through the relay and calling the provider directly, under the same load.

These historical local-loop measurements do not measure the current durable journal or total-budget path. These add persistent writes and database access before the provider call. Actual latency depends on the region and budget mode.

The measurement

~0.5 msmedian overhead, one request at a time.

This is a local-loop measurement: relay and mock provider on the same machine, where network latency is negligible. A measurement on deployed European infrastructure will be published at production launch. The product target remains < 15 ms P95.

Standard request (non-streaming)

End-to-end latency of a complete request. At low load, overhead is under a millisecond; it increases with concurrency due to scheduling and copying streams.

Non-streaming request latency in local tests, milliseconds
Concurrent requestsDirect (median)Via Renio (median)Median overheadP95 overhead
12.45 ms2.91 ms0.46 ms0.91 ms
162.94 ms5.69 ms2.75 ms5.40 ms
643.27 ms14.39 ms11.12 ms18.23 ms

Streaming (time to first token)

The delay before the first token — the metric that determines whether a response feels immediate. Each chunk is forwarded without buffering.

Streaming request latency in local tests, milliseconds
Concurrent requestsDirect (median)Via Renio (median)First-token overheadP95 overhead
12.49 ms2.90 ms0.41 ms0.74 ms
162.94 ms3.05 ms0.11 ms1.58 ms
642.68 ms4.70 ms2.02 ms4.01 ms

Methodology

  • Overhead = latency through the proxy minus latency directly to a mock provider, at exactly the same load.
  • 3,000 measured requests per point (+ 300 warm-up requests), upstream HTTP/2, Go 1.25.
  • The mock provider responds after 2 ms, with 1 ms between streaming chunks — isolating the relay’s cost, not the model’s.
  • Proxy and mock provider run on the same machine. A dated measurement on deployed EU infrastructure will replace these local results.

source: infra/bench · reproducible results in the repository