Dense 27B vs MoE IQ2_XS on one RTX 4090: synthetic bench plus 3 graded real tickets
Rig: RTX 4090 24 GB (450 W), i9-14900K, 32 GB RAM, Linux, desktop on the iGPU.
- A: Qwen3.8-27B dense on NInfer. 262K context, rk4v4-e8 KV, MTP, 1 slot.
- B: Qwen3.8-Flash-Next IQ2_XS on Strata 0.1.39. 262K context, q4_0 KV in VRAM, experts in host RAM, MTP.
Both models: thinking budget 4096, same prompts.
Synthetic (build + 12-bug review)
| | 27B NInfer | Flash-Next IQ2_XS Strata |
|---|---|---|
| decode tok/s | 127–140 | 173–185 |
| bugs found (per run) | 12, 10 | 12, 10, 9 |
| one-shot build, CSS rules | 181–190 | 106–113 |
| wall time per round | ~5 min | ~2m10s |
| peak VRAM | 23,134 MiB | 23,936 MiB |
Recall (3 needles at 10/50/90% depth)
| tokens | 27B: found / prompt tok/s | IQ2_XS: found / prompt tok/s |
|---|---|---|
| 55K | 3/3 / 3,037 | 3/3 / 3,494 |
| 117K | 3/3 / 2,391 | 3/3 / 3,904 |
| 200K | 3/3 / 1,857 | 3/3 / 3,833 |
Real tickets
Claude Code subagents, 3 at once per engine, 150-minute cap, rubric fixed before the runs, every check re-run by the grader. Score per task: correctness, verification, scope, quality and honesty, 10 points each.
| task | IQ2_XS | 27B |
|---|---|---|
| Python config renderer | 42 | 35 |
| QML settings feature | 0 (no edits) | 34 (complete, died at harness prompt limit) |
| evidence write-up, every number cited | 44 (120 min) | 43 (62 min) |
| total /150 | 86 | 112 |
Why the 27B finished more work in less time. With 3 agents interleaving, the MoE engine reused 32% of prompt tokens. A typical turn re-read 107K tokens in 28 s; conversation cache is off on 32 GB RAM. The 27B engine reused 88.5%, and one logged turn served 172,343 of 172,578 tokens from cache, first token in 524 ms.
Limits: n=1 per ticket and one grader model; the MoE ran first.
Next: rerun the MoE with one agent at a time, and with more RAM for its cache.