One DGX Spark box: Qwen3.8-27B · Flash-Next · DeepSeek-v4-Flash (REV-441)
Same REV-441 needle (~2.5k–82k) and Angry Birds HTML on one DGX Spark GB10 across Qwen3.8-27B-NVFP4, Flash-Next, and DeepSeek-v4-Flash. ~82k TTFT: Flash-Next 0.50s · Qwen27B 4.1s · DeepSeek 6.8s. All needles matched.
Bottom line 2026-09-01 — one DGX Spark GB10, same REV-441 needle and Angry Birds HTML across three models. ~82k TTFT: Flash-Next 0.50s · Qwen3.8-27B-NVFP4 4.1s · DeepSeek-v4-Flash 6.8s. DeepSeek wins decode (~180 tok/s); Flash-Next/Qwen27B sit ~40–66. All needles matched. Cross-machine table: prior post.
Model tabs
Same box · same protocol. Switch tabs to read.
Runtime SGLang + DFlash2 K=8 · qwen38-27b-stock-nvfp4 · :8001
~82k TTFT 4.1s, decode ~58–66 tok/s. Angry Birds 7000 truncates before event/RAF; 12000 completes. GIF: 
Runtime Flash-Next Spark recipe · qwen38-flash-next · CTX 131072 · PLE mmap
~82k TTFT 0.50s (shortest of the three). decode ~41–46 tok/s. Angry Birds 12000 complete (doctype · canvas · RAF · mousedown · R).
This fills the “not yet arrived” Spark cell from the earlier memory-tier post. That post stays about file size mapping; speed lives here.
Runtime sparkinfer / ExLlamaV3 · deepseek-v4-flash-0731 · :8888 · util 0.94 · max_model_len 384000
~82k TTFT 6.8s (longest) but decode ~137–199 tok/s (fastest). All needles matched.
Angry Birds 7000: HTML skeleton (doctype/canvas) + pig/bird mentions, truncates before event loop · ~135 tok/s. 12000: empty content (wall≈TTFT — tokens likely in reasoning). Re-run with thinking off is next.

HTML (broken JS) — still SyntaxError after thinking=false re-run.
Same needle, same tokens
Fake billing module with settle_invoice(... tax_rate=0.08) + docstring REV-441 / 0.10. JSON only. Fresh RUN_ID/CACHE_BUST each run.
| context | Qwen3.8-27B NVFP4 | Flash-Next | DeepSeek-v4-Flash |
|---|---|---|---|
| ~2.5k | TTFT 0.55s · decode 66 · match | TTFT 0.81s · decode 41 · match | TTFT 4.1s · decode 167 · match |
| ~13.5k | TTFT 0.23s · decode 60 · match | TTFT 0.28s · decode 42 · match | TTFT 2.7s · decode 199 · match |
| ~41k | TTFT 0.33s · decode 64 · match | TTFT 0.39s · decode 46 · match | TTFT 3.8s · decode 137 · match |
| ~82k | TTFT 4.1s · decode 58 · match | TTFT 0.50s · decode 43 · match | TTFT 6.8s · decode 180 · match |
How to read: match rate does not separate them. Flash-Next owns long-context TTFT. DeepSeek trades TTFT for decode. Qwen27B sits in between and has a completed game GIF.
Same prompt, artifact compare (Angry Birds HTML)
Identical protocol on all three: 960×540 canvas, slingshot, bird 3 · wood 4 · pig 3, score · R restart. GIFs below are one Playwright auto-pull on the 12000-token HTML (DeepSeek re-run with thinking: false). Judgment is playability / screen, not tok/s.
Complete HTML. Slingshot · 3 birds · 3 pigs · wood · HUD. Physics after auto-pull.
Complete HTML. Cleanest HUD/clouds/structure. Launch + collision on auto-pull.
File closes and harness flags pass, but JS has a corrupted token (75hed) → runtime SyntaxError. Sky/ground + hint only; no birds/pigs/slingshot drawn.
| Verdict | Qwen3.8-27B | Flash-Next | DeepSeek-v4-Flash |
|---|---|---|---|
| HTML closed / RAF / input | yes | yes | yes (in source) |
| Playable in browser | yes | yes | no (JS SyntaxError) |
| Visual polish | good | best | fail (empty stage) |
| Artifact winner | 2nd | 1st | 3rd (broken) |
On artifacts alone today: Flash-Next > Qwen3.8-27B ≫ DeepSeek-v4-Flash. DeepSeek decode can look fast; the game still does not run. Do not mix speed tables with artifact quality.
Angry Birds-style HTML
One prompt. 960×540 canvas, slingshot, bird 3 · wood 4 · pig 3. First shot 7000, then 12000.
| Qwen3.8-27B | Flash-Next | DeepSeek-v4-Flash | |
|---|---|---|---|
| 12000 harness | complete · ~45 tok/s | complete · ~39 tok/s | thinking=false re-run · ~47 tok/s · early stop ~5k |
| Playable | yes | yes | no (JS SyntaxError) |
| GIF / demo | gif · html | gif · html | gif · html |
What to pick (today only)
| Goal | Pick |
|---|---|
| Start answering long context fast | Flash-Next (~82k TTFT 0.50s) |
| Solid decode + proven 27B game artifact | Qwen3.8-27B-NVFP4 + DFlash2 |
| Max tok/s on short/mid gen | DeepSeek-v4-Flash (long HTML needs thinking-off check) |
Same prompt, 3D architecture HTML (Three.js)
Separate from Angry Birds: one shared HTML protocol. Subject: modern museum / pavilion, Three.js r160 CDN, full-window canvas, auto orbit, glass + cantilever + reflecting plaza, dusk lighting. GIFs = 6s Playwright orbit capture.
Meridian Pavilion — curtain wall, stone podium, reflecting pool, portfolio-grade UI.
Aurora Pavilion — simpler low-poly, but orbit + glass + lighting work.
Harness flags pass but JS has a corrupted token → SyntaxError. Title overlay only, no WebGL scene.
| Verdict | Flash-Next | Qwen3.8-27B | DeepSeek-v4-Flash |
|---|---|---|---|
| 12000 gen · decode | ~37 tok/s · 7843 tok | ~42 tok/s · 5331 tok | ~43 tok/s · 4372 tok |
| Browser render | yes | yes | no (JS error) |
| Architecture polish | 1st | 2nd | 3rd (broken) |
Mac M1/M2 Ornith: M1/M2 3D architecture GIFs (same prompt).
Artifacts only: 3D architecture ranks Flash-Next > Qwen27B ≫ DeepSeek. Do not mix speed tables with visual quality.
Not done
- DeepSeek Angry Birds regenerate after fixing broken JS (kept raw today)
- All three resident at once (sequential due to memory util)
- 131k+ needle · AMD Strix Halo