Ling 3.1 Flash Took 12 Hours on Four Sparks and 57 Minutes on an API
@sudoingX ran one agent prompt both ways; both builds passed 12 of 12 tests.
Same model, same prompt, same agent settings. The serving stack made the difference.
@sudoingX gave Ling 3.1 Flash, a 560B MoE with 25B active from @AntLingAGI, his floating-tree spec: one prompt that has a coding agent build a 3D scene from an empty folder, graded by 12 tests and a visual gate. He ran it twice with Hermes Agent.
| Measure | Q4 GGUF, four Sparks | API (Novita) |
|---|---|---|
| Wall time | 12h 26m | 57 min |
| Decode | 7.5 tok/s | 98.6 tok/s |
| Tokens out | 325k | 228k |
| Tests | 12 of 12 + visual gate | 12 of 12 + visual gate |
| Cost | Not given | $0.27 |
The local side was AtomicChat’s AD-Q4_K_M GGUF over llama.cpp RPC. RPC splits the model by layers, so the four Sparks take turns on every token, which caps it near 12 tok/s, he explains. The API run was pinned to Novita on OpenRouter with no fallback. Novita does not publish its precision, so he calls it “the api,” not full precision.
Both runs opened with one giant write turn, 63k tokens on Q4 and 58k on the API, so he calls that habit the model’s. The Q4 run then had three more marathon turns of 77k, 62k and 47k tokens; one ran 2h 52m and left a 10-line file. With one run each, he says, it points at the Q4 setup without proving it.
His verdict: Ling 3.1 Flash is a strong model and the speed gap is the setup. Q4 over RPC proves it fits on four Sparks, but agent work wants a real serving stack, and an official 4-bit build would make it practical locally. @confidencechaos replied with the same lesson from one RTX 4090: his timeouts were mostly queueing.
Sources
- @sudoingX on X · Oct 24, 6:40 AM PT
- @sudoingX on X · Oct 24, 6:40 AM PT
- @sudoingX on X · Oct 24, 6:40 AM PT
- @sudoingX on X · Oct 24, 2:00 AM PT
- @sudoingX on X · Oct 24, 7:24 AM PT
- sudoingx/floating-tree · github.com