standard-v1 on the idle server: ~2,900 prompt tok/s at 16K, decode ~110-131. --adapt-async 1 neutral, --pipeline-windows 2 slower decode, --prefill auto:32768 22% slower prompt at 16K. Setup defaults kept and the original config restored. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
4.8 KiB
standard benchmark: NVIDIA GeForce RTX 3090
Protocol strata-qwen38-thinking-v1-draft.1 (draft), run 20261026T234702Z-0f07e24d, started 2026-10-26T23:47:02Z. Status: complete.
Written by <user> bench run. The machine-readable result is results.json; every request, its raw usage and timings and the client event offsets are in outputs.jsonl.
Hardware and software
- GPU: NVIDIA GeForce RTX 3090 (24.0 GiB dedicated)
- CPU: Intel(R) Core(TM) i9-14900KS; RAM: 110.0 GiB
- Storage of the model files: not measured
- OS: NixOS 26.05 (Yarara) 6.18.55; drivers: gpu-driver 595.71.05; runtime: cuda 13.2
- commit:
4b9e05a2a806a3fe24f7b2560d98626c37dade35; engine 0.1.51; source build - Background work: not measured
Model and configuration
- Model: qwen3.8-flash-next-iq3_s; quantization IQ3_S; revision not measured; source revision not measured
- Files:
Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00001-of-00002.gguf4c1eb2ceb4915e11...;Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S-00002-of-00002.gguf316b46f3a2dbd68c... - Track: default (lovey 2x3090, 250 W cap, gpu-unlock, setup defaults + --max-context 131072)
- Context 131072 tokens; server capacity 1 slot(s)
- Sampling: temperature 1.0, top_p 0.95, top_k 20, min_p 0.0, presence_penalty 0.0, repetition_penalty 1.0, reasoning_effort xhigh; thinking on, preserved
- Engine options:
config.json; chat template:provenance/chat_template.jinja
Method
The frozen requests of bench/prompts/standard-v1 (corpus e75eff8b9feea04f...) were sent over loopback HTTP, streaming, one at a time, in this order: 1 warm-up (excluded), 3 repetitions of the short, 4K and 16K prompts, and the twelve sanity checks. Prompt and decode speed are the engine's own timings; time to first token is the client's monotonic clock from dispatch to the first nonempty reasoning, answer or tool-call delta. No request was retried. Time after the model loaded: 1 min 31 s.
Results
| Case | Prompt tok/s | Decode tok/s | TTFT s | First answer s | Total s | Capped |
|---|---|---|---|---|---|---|
| short | n/a | 130.7 (124.1-135.6) n=3 | 0.35 (0.34-0.41) n=3 | 1.17 (0.89-2.55) n=3 | 4.2 (3.1-4.2) n=3 | 1/3 |
| prompt-4k | 1776.1 (1774.2-1778.0) n=3 | 123.2 (112.6-128.4) n=3 | 2.32 (2.32-2.33) n=3 | 5.30 (4.96-5.64) n=2 | 6.5 (6.3-6.9) n=3 | 3/3 |
| prompt-16k | 2937.9 (2934.5-2945.0) n=3 | 124.5 (115.0-131.4) n=3 | 5.61 (5.59-5.61) n=3 | 7.97 (7.79-8.14) n=2 | 9.7 (9.5-10.1) n=3 | 3/3 |
Cells are median (min-max) n=samples. Short is a prompt of about 80 tokens: its prompt rate is dominated by the fixed cost of a request, so it is not shown; read prompt speed from prompt-4k and prompt-16k. Capped = requests that reached the 512-token cap, reasoning and answer together. A capped request's total time is the time to the cap, not to an answer, and it has no first-answer time when it was still reasoning.
| Phase | Planned | Completed | Truncated | Failed | Skipped |
|---|---|---|---|---|---|
| warmup | 1 | 0 | 1 | 0 | 0 |
| performance | 9 | 2 | 7 | 0 | 0 |
| sanity | 12 | 12 | 0 | 0 | 0 |
| concurrency | 12 | 3 | 9 | 0 | 0 |
Sanity checks: 12 of 12.
| Case | Result | Reason |
|---|---|---|
| I1 | pass | the expected JSON value |
| I2 | pass | the expected JSON value |
| I3 | pass | the expected JSON value |
| I4 | pass | the exact expected text |
| R1 | pass | the exact expected text |
| R2 | pass | the exact expected text |
| R3 | pass | the exact expected text |
| R4 | pass | the expected JSON value |
| T1 | pass | the expected tool call |
| T2 | pass | the expected tool call |
| T3 | pass | the expected tool call |
| T4 | pass | the expected tool call |
Concurrency rounds (four requests released together):
| Round | Wall s | Output tokens | Aggregate tok/s | Failed |
|---|---|---|---|---|
| 1 | 16.25344 | 1877 | 115.483245 | 0 |
| 2 | 15.310917 | 1937 | 126.511038 | 0 |
| 3 | 16.230166 | 2048 | 126.184785 | 0 |
Failures, exclusions and limitations
- No request failed.
- Excluded from speed summaries: performance-prompt-16k-r3: first_answer_s is not available for this request
- Excluded from speed summaries: performance-prompt-4k-r1: first_answer_s is not available for this request
- Prompt-prefix reuse is the shared template prefix only; the cache was not emptied between requests, and the expert cache stays warm and evolves. These are not cold-model measurements.
- Output caps include reasoning; a request that reaches its cap is
truncatedand fails its sanity check. - The runner cannot see other programs on the machine, the repeat-stop and loop-recovery switches of the server, or the quantization repository's revision; see
missingin results.json for every value it could not read. - The server had answered 1122 request(s) before this run.