~/bayar.dev/benchmarks
Benchmarks
Every number on this page comes from a recorded request. 5 Workers AI models run 3 fixed workloads every 15 minutes, and real visitor requests to the gateway are timed as they happen.
Raw data is downloadable below. Runs are kept for 35 days.
Results
Probes run every 15 minutes.
Loading measurements for 7d…
How it is measured
A Cloudflare Cron Trigger runs every 15 minutes inside the same Worker that serves this site. Each tick sends every workload to every model through the Workers AI binding, three requests at a time, with temperature: 0 and a fixed output cap. The clock starts just before the model call and stops when the stream closes.
| Metric | Definition |
|---|---|
| TTFT | Time from sending the request to the first non-empty token, measured in the Worker. |
| Total | Time from sending the request to the end of the stream. |
| Tokens/s | Output tokens after the first, divided by the time after the first token. Excludes TTFT. |
| Success | Share of runs that streamed at least one token without an error or a 45 s timeout. |
| Correct | Share of successful runs whose answer passes the workload check (below). |
| Cost / 1k req | Average recorded input and output tokens × the published price, for 1,000 requests. |
| p50 / p95 | Nearest-rank percentiles over successful runs in the selected window. |
Live traffic rows are timed on the server from the moment a request reaches POST /api/chat, so they include the rate limit and validation but not the visitor's own network. Only timings, token counts and the Cloudflare data center are stored; never the prompt, the reply or the IP address.
Workloads
| Workload | What it sends | Output cap | Counted correct when |
|---|---|---|---|
| Short chat | A one-line question with a short answer. Mirrors the terminal on the homepage. | 128 tokens | The answer is more than 20 characters |
| Long context | About 5,000 tokens of document, then a question whose answer is one line inside it. | 64 tokens | The answer contains the codename hidden in section 87b |
| Structured JSON | Extract fields from a short support message into a fixed JSON shape. | 160 tokens | The reply is exactly three JSON fields: product names the Pro plan, severity is high, wants_refund is true |
Models and prices
| Model | Workers AI id | Input / 1M tokens | Output / 1M tokens |
|---|---|---|---|
| Llama 3.3 70B (fp8, fast) | @cf/meta/llama-3.3-70b-instruct-fp8-fast | $0.293 | $2.253 |
| Llama 4 Scout 17B | @cf/meta/llama-4-scout-17b-16e-instruct | $0.270 | $0.850 |
| Mistral Small 3.1 24B | @cf/mistralai/mistral-small-3.1-24b-instruct | $0.351 | $0.555 |
| Llama 3.2 3B | @cf/meta/llama-3.2-3b-instruct | $0.051 | $0.335 |
| Llama 3.1 8B (fp8, fast) | @cf/meta/llama-3.1-8b-instruct-fp8-fast | $0.045 | $0.384 |
Prices are Cloudflare's published Workers AI rates as of October 9, 2026 (pricing page). Probe spend is capped per UTC day; once the cap is reached, the remaining ticks that day are skipped rather than run.
What these numbers do not show
- Probes run from whichever Cloudflare data center the cron lands on, not from your location.
- Workers AI is shared infrastructure, so results move with Cloudflare's load and model placement.
- Three workloads are a narrow slice. They say nothing about reasoning quality beyond the checks listed.
- These are measurements of Workers AI models, not a comparison with other providers.
Raw data
Every run from the last 7 days: CSV or JSON. The aggregated view above is GET /api/benchmarks?window=24h|7d|30d, and the endpoint being measured is documented in the API reference.