Measured on our GPUs, published with the data.
Every figure on this page comes from a measured run: what was sent, to which model, on which GPUs, and what came back. The full data sits in a table under each chart.
ARK Core under real traffic.
We sent summarisation requests to our own ARK Core deployments, through the public ARK Cloud API: texts of about 1,100 tokens, each summarised in about a tenth of its length, streamed, from 1 up to 60 requests at a time. That is the shape of most production traffic: much more reading than writing.
Throughput
Input + output tokens per second across all requests in flight.
Time to first token
Median seconds from sending a request to its first streamed token.
Qwen3.5-122B-A10B on four RTX 5090
15 October 2026 · public API · 730 requests
| Concurrent | Input tok/s | Output tok/s | Total tok/s | TTFT p50 | TTFT p95 | Decode per request | Completed |
|---|---|---|---|---|---|---|---|
| 1 | 433 | 42 | 475 | 0.45 s | 0.52 s | 50.4 tok/s | 10/10 |
| 2 | 791 | 75 | 866 | 0.46 s | 0.58 s | 45.4 tok/s | 20/20 |
| 4 | 1,325 | 129 | 1,454 | 0.48 s | 0.58 s | 37.6 tok/s | 40/40 |
| 8 | 2,061 | 198 | 2,260 | 0.52 s | 0.95 s | 28.6 tok/s | 60/60 |
| 12 | 2,619 | 249 | 2,868 | 0.52 s | 1.24 s | 23.9 tok/s | 80/80 |
| 16 | 3,258 | 288 | 3,546 | 0.55 s | 1.79 s | 20.9 tok/s | 100/100 |
| 24 | 3,881 | 346 | 4,228 | 0.57 s | 2.56 s | 16.7 tok/s | 110/110 |
| 32 | 4,529 | 402 | 4,931 | 0.76 s | 3.56 s | 14.8 tok/s | 110/110 |
| 48 | 5,215 | 460 | 5,675 | 1.53 s | 5.81 s | 12.8 tok/s | 100/100 |
| 60 | 5,263 | 463 | 5,726 | 3.41 s | 7.47 s | 13.6 tok/s | 100/100 |
Qwen3.6-35B-A3B on four RTX 4070 Ti SUPER
16 October 2026 · public API · 730 requests; two responses were lost on the network path after the API had completed them
| Concurrent | Input tok/s | Output tok/s | Total tok/s | TTFT p50 | TTFT p95 | Decode per request | Completed |
|---|---|---|---|---|---|---|---|
| 1 | 699 | 66 | 765 | 0.27 s | 0.42 s | 82.8 tok/s | 10/10 |
| 2 | 1,140 | 110 | 1,249 | 0.29 s | 0.39 s | 67.9 tok/s | 20/20 |
| 4 | 2,048 | 194 | 2,242 | 0.32 s | 0.51 s | 57.9 tok/s | 40/40 |
| 8 | 3,000 | 282 | 3,282 | 0.32 s | 0.69 s | 43.4 tok/s | 59/60 |
| 12 | 3,746 | 353 | 4,099 | 0.32 s | 1.04 s | 33.6 tok/s | 80/80 |
| 16 | 4,350 | 410 | 4,760 | 0.35 s | 1.33 s | 29.9 tok/s | 100/100 |
| 24 | 5,523 | 520 | 6,043 | 0.54 s | 2.11 s | 27.9 tok/s | 109/110 |
| 32 | 6,116 | 578 | 6,693 | 0.84 s | 2.96 s | 24.2 tok/s | 110/110 |
| 48 | 6,807 | 641 | 7,448 | 1.21 s | 4.92 s | 19.6 tok/s | 100/100 |
| 60 | 6,796 | 643 | 7,439 | 1.66 s | 6.16 s | 16.2 tok/s | 100/100 |
Two more production models on smaller GPUs
Qwen3.5-4B on two RTX 4060 Ti
16 October 2026 · production API · up to 32 concurrent requests
| Concurrent | Input tok/s | Output tok/s | Total tok/s | TTFT p50 | TTFT p95 | Decode per request | Completed |
|---|---|---|---|---|---|---|---|
| 1 | 846 | 47 | 894 | 0.34 s | 1.18 s | 61.2 tok/s | 10/10 |
| 2 | 1,281 | 91 | 1,372 | 0.35 s | 0.49 s | 53.9 tok/s | 20/20 |
| 4 | 1,809 | 146 | 1,955 | 0.37 s | 0.61 s | 43.4 tok/s | 40/40 |
| 8 | 2,648 | 220 | 2,868 | 0.36 s | 1.07 s | 32.0 tok/s | 60/60 |
| 12 | 3,057 | 260 | 3,317 | 0.45 s | 1.74 s | 25.4 tok/s | 80/80 |
| 16 | 3,530 | 301 | 3,830 | 0.50 s | 2.42 s | 21.7 tok/s | 100/100 |
| 24 | 3,776 | 326 | 4,101 | 0.64 s | 4.02 s | 16.1 tok/s | 110/110 |
| 32 | 3,856 | 335 | 4,192 | 1.07 s | 5.89 s | 13.5 tok/s | 110/110 |
Bielik-11B-v3.0-Instruct on four RTX 3060
16 October 2026 · production API · throughput levels off from 16 concurrent requests on these 12 GB cards
| Concurrent | Input tok/s | Output tok/s | Total tok/s | TTFT p50 | TTFT p95 | Decode per request | Completed |
|---|---|---|---|---|---|---|---|
| 1 | 304 | 29 | 333 | 0.49 s | 0.67 s | 44.1 tok/s | 10/10 |
| 2 | 482 | 47 | 529 | 0.56 s | 0.99 s | 33.6 tok/s | 20/20 |
| 4 | 698 | 68 | 765 | 0.73 s | 1.38 s | 25.3 tok/s | 40/40 |
| 8 | 935 | 91 | 1,026 | 0.95 s | 2.11 s | 15.1 tok/s | 60/60 |
| 12 | 1,034 | 100 | 1,133 | 1.05 s | 3.09 s | 10.7 tok/s | 80/80 |
| 16 | 1,108 | 107 | 1,215 | 1.48 s | 4.27 s | 8.8 tok/s | 100/100 |
| 24 | 1,139 | 110 | 1,249 | 2.11 s | 6.81 s | 6.3 tok/s | 110/110 |
| 32 | 1,170 | 113 | 1,283 | 3.70 s | 9.54 s | 5.2 tok/s | 110/110 |
| 48 | 1,217 | 118 | 1,335 | 5.96 s | 15.24 s | 3.9 tok/s | 100/100 |
| 60 | 1,221 | 118 | 1,339 | 8.67 s | 19.61 s | 3.6 tok/s | 100/100 |
Long answers, many users.
The opposite traffic shape: short prompts of 100 tokens, each answered with 2,000 tokens, streamed through the HTTP API. Qwen3.5-122B-A10B on four RTX 5090 with ARK 2.0, on a test system set up like production.
- From one stream to 64, total output grows 28-fold.
- Every stream still receives a token every 35 ms (median) at 64 streams.
- No request failed and none came back empty.
- Against direct access to the same servers, the API layer delivered 97 to 101% of the throughput at every level.
Output tokens per second
All streams together, by number of concurrent streams.
| Concurrent streams | Output tok/s | Per stream | TTFT p50 | Inter-token p50 | Failed |
|---|---|---|---|---|---|
| 1 | 52 | 52.8 tok/s | 0.19 s | 17.2 ms | 0 |
| 2 | 102 | 51.4 tok/s | 0.20 s | 18.1 ms | 0 |
| 4 | 200 | 50.4 tok/s | 0.25 s | 18.3 ms | 0 |
| 16 | 542 | 34.4 tok/s | 0.23 s | 25.8 ms | 0 |
| 32 | 831 | 26.5 tok/s | 0.16 s | 35.5 ms | 0 |
| 64 | 1,455 | 24.3 tok/s | 0.23 s | 35.4 ms | 0 |
Energy per token.
Measured on our own ARK Core deployments, the ones that serve ARK Cloud, under input-heavy traffic, with the GPUs and CPUs of every serving machine counted, idle draw included.
- 21 Wh per million tokens on Qwen3.6-35B-A3B (four RTX 4070 Ti SUPER), 22 on Qwen3.5-4B (two RTX 4060 Ti), 76 on Qwen3.5-122B-A10B (four RTX 5090).
- About 0.025 Wh for a request of 1,200 tokens on Qwen3.6-35B-A3B.
- 1.8 to 4.7 times less energy per token with 16 or more users than with one.
Wh per million tokens
One request at a time and 16 or more at once. Lower is better.
ARK 2.0 across 19 models.
The release benchmark for self-hosted deployments: 19 chat models on four RTX 5090 across two machines, measured directly against the ARK runtime, one stream and 64 streams at a time.
- Single stream
- 1.54× fastermedian over 15 models, ARK 2.0 against ARK 1.0
- Concurrency
- 64 streamswhere ARK 1.0 was tested at 12
- Total throughput
- 9.3×median, each version at its full test load
- Energy per token
- −90%median at full load, GPUs and CPUs included
Total decode throughput at 64 concurrent streams
Tokens per second across all streams, ARK 2.0, 4× RTX 5090.
| Model | One stream | 64 streams, total | 64 streams, each | Energy at 64 streams |
|---|---|---|---|---|
| Llama-3.2-1B | 603.4 tok/s | 5,500 tok/s | 85.9 tok/s | 0.03 Wh / 1k tokens |
| Llama-3.2-3B | 326.8 tok/s | 4,644 tok/s | 72.6 tok/s | 0.04 Wh / 1k tokens |
| Llama-3.1-8B | 209.1 tok/s | 3,911 tok/s | 61.1 tok/s | 0.07 Wh / 1k tokens |
| Ministral-3-8B | 199.1 tok/s | 3,819 tok/s | 59.7 tok/s | 0.07 Wh / 1k tokens |
| Qwen3-8B | 172.5 tok/s | 3,596 tok/s | 56.2 tok/s | 0.07 Wh / 1k tokens |
| Qwen3.5-4B | 143.9 tok/s | 3,546 tok/s | 55.4 tok/s | 0.07 Wh / 1k tokens |
| Qwen3-Coder-30B-A3B | 174.0 tok/s | 3,295 tok/s | 51.5 tok/s | 0.07 Wh / 1k tokens |
| gpt-oss-20b | 256.1 tok/s | 3,273 tok/s | 51.1 tok/s | 0.09 Wh / 1k tokens |
| Bielik-11B-v3.0 | 143.5 tok/s | 3,265 tok/s | 51.0 tok/s | 0.08 Wh / 1k tokens |
| Ministral-3-14B | 140.2 tok/s | 3,228 tok/s | 50.4 tok/s | 0.10 Wh / 1k tokens |
| Qwen3-14B | 117.7 tok/s | 2,927 tok/s | 45.7 tok/s | 0.10 Wh / 1k tokens |
| Devstral-Small-2-24B | 92.7 tok/s | 2,733 tok/s | 42.7 tok/s | 0.14 Wh / 1k tokens |
| Qwen3.6-35B-A3B | 102.1 tok/s | 2,687 tok/s | 42.0 tok/s | 0.09 Wh / 1k tokens |
| Qwen3-32B | 58.8 tok/s | 1,940 tok/s | 30.3 tok/s | 0.19 Wh / 1k tokens |
| GLM-4.7-Flash | 76.0 tok/s | 1,878 tok/s | 29.3 tok/s | 0.14 Wh / 1k tokens |
| Qwen3.5-122B-A10B | 52.4 tok/s on 4 GPUs | 1,717 tok/s | 26.8 tok/s | 0.19 Wh / 1k tokens |
| Qwen3.6-27B | 48.2 tok/s | 1,697 tok/s | 26.5 tok/s | 0.19 Wh / 1k tokens |
| Qwen3.8-27B | 48.1 tok/s | 1,694 tok/s | 26.5 tok/s | 0.19 Wh / 1k tokens |
| Llama-3.3-70B | 31.0 tok/s on 4 GPUs | 1,391 tok/s | 21.7 tok/s | 0.34 Wh / 1k tokens |
Most models were measured on a single GPU for one stream; Qwen3.5-122B-A10B and Llama-3.3-70B span four. Energy is the power drawn by both machines, GPUs and CPUs, divided by the tokens produced.
Same GPUs, same model, same benchmark.
Qwen3.6-35B-A3B at 4 bits on two RTX 5090, driven by the same third-party benchmark script with the same prompts against ARK 2.1 and vLLM 0.27.1, on the same day, both at default settings.
- At 64 users with 4,000-token prompts, ARK generates 1,655 tokens per second against vLLM's 652.
- The first token comes 4.7 to 7.1 times sooner on ARK at every load.
- vLLM is faster for a single user: 160 against 88 tokens per second.
Total decode throughput
All users together, 4,000-token prompts, by number of concurrent users.
How we measure.
- Throughput is tokens processed per second of wall-clock time across all requests in flight. Input tokens count when the prompt is read; output tokens as they are generated.
- Time to first token is measured on the client, from sending the request to receiving the first streamed token, network included.
- Decode per request is a request's output tokens divided by the time between its first and last token.
- Reliability counts requests that completed with a non-empty answer. A failed or empty response counts against us.
- Hardware is NVIDIA consumer GPUs: RTX 3060, 4060 Ti, 4070 Ti SUPER and 5090. Results on other GPUs differ.
- Versions: the real-traffic and long-answer runs used ARK 2.0 as deployed in October 2026; the release run used the ARK 2.0.0 release. We rerun these benchmarks as ARK changes and update this page.
Want to measure ARK on your own workload? Talk to us about a proof of concept on your hardware.
See it on your own traffic.
Point your application at ARK Cloud, or ask us for a proof of concept on your GPUs.