Verdict
On a single 24GB GPU, run Qwen3.5-35B-A3B when throughput and long context dominate (100–122 tok/s optimized, 262K native context) and GLM-4.7-Flash when agentic benchmark strength per gigabyte dominates (SWE-bench Verified 59.2, τ²-Bench 79.5 from a ~18GB 4-bit footprint). MiniMax-M2.5 is the strongest model of the three but is not a 24GB conversation: ~230B total parameters, ~120GB at Q4, ~96GB+ combined memory minimum. And if privacy is not the constraint, be honest about the API column: GLM-4.7-Flash is currently free on Z.ai's official API, which no local rig can beat on cost.
These three models sit in different feasibility classes, and the deciding variable is your memory budget, not benchmark tables. Qwen3.5-35B-A3B (35B total, 3B active) fits in 17–24GB depending on quant — a Q4_K_M is roughly 20GB — and community-measured optimized llama.cpp setups reach 100 tok/s on an RTX 3090 and 122 tok/s on a 4090, versus 40–70 tok/s with default flags (per Unsloth's docs and r/LocalLLaMA testing we verified in our own benchmarks). GLM-4.7-Flash (30B MoE, ~3B active) needs ~18GB on Unsloth's 4-bit path and ~32GB at full precision, and posts the strongest published agent numbers in this weight class: 59.2 SWE-bench Verified and 79.5 τ²-Bench versus 22.0 and 49.0 for the earlier Qwen3-30B-A3B-Thinking (zai-org model card; no direct published head-to-head against Qwen3.5-35B-A3B exists yet). MiniMax-M2.5 (~230B-class MoE) is pitched against Opus-4.6 on static benchmarks at ~95% lower output-token price via API ($1.20 vs $25 per MTok output, per MiniMax's and Anthropic's published prices), but locally it means ~100GB even at 3-bit MLX (the community conversion reports ~229B params at ~100GB) — multi-GPU or a 128GB Mac, not a consumer card.
Decision Table
| Criterion | Edge | Explanation |
|---|---|---|
| Fits on a single 24GB GPU | Tie | Both fit comfortably. Qwen3.5-35B-A3B lands at 17–24GB depending on quant (Q4_K_M ≈ 20GB); GLM-4.7-Flash needs ~18GB on Unsloth's recommended 4-bit GGUF path and ~32GB unquantized. MiniMax-M2.5 does not play here at all: ~230B parameters means roughly 120GB at Q4 and ~100GB at 3-bit MLX, with ~96GB+ combined memory as the practical floor — that is dual-48GB-card or high-memory Mac Studio territory. |
| Measured local throughput | Qwen3.5-35B-A3B Best edge | Qwen3.5-35B-A3B has the best-documented speed story: 100 tok/s on an RTX 3090 and 122 tok/s on an RTX 4090 with the optimized llama.cpp setup (q8_0 KV cache, full offload), versus 40–70 tok/s on default Ollama/LM Studio configs — the q8_0 KV-cache switch alone is worth 12–38% throughput while using less VRAM, per community benchmarks on r/LocalLLaMA. GLM-4.7-Flash runs well on the same hardware but has no equivalent body of published triple-digit consumer-GPU numbers. |
| Agentic benchmark strength per gigabyte | GLM-4.7-Flash Best edge | GLM-4.7-Flash's published scores — 59.2 SWE-bench Verified, 79.5 τ²-Bench, 42.8 BrowseComp (zai-org/GLM-4.7-Flash model card) — are the strongest public agent numbers in the ~30B-MoE class, from an ~18GB 4-bit footprint. Qwen3.5-35B-A3B is competitive in practice for coding agents, but Alibaba has not published the same agentic eval suite, so GLM wins the defensible-numbers column. |
| Long-context repository work | Qwen3.5-35B-A3B Best edge | Qwen3.5-35B-A3B holds its 262K native context at interactive speeds on a 24GB card — its Gated DeltaNet + sparse MoE design keeps throughput stable as context grows, which is what long agent sessions (file reads, test output, retries) actually stress. GLM-4.7-Flash tops out at 202,752 tokens (Unsloth's model docs), and some hosted deployments cap it lower still — Cloudflare Workers AI lists it at 131K. Qwen's edge here is less the raw ceiling than that its linear-attention blocks keep KV-cache memory and speed manageable as the window actually fills on a 24GB card. |
| Quantization pitfalls and tooling maturity | GLM-4.7-Flash Best edge | Both models had early GGUF chat-template bugs that silently broke tool calls (both fixed by Unsloth re-uploads — re-download if you grabbed files early). Qwen3.5 carries an extra trap: community perplexity tests show UD-Q4_K_XL degrades 9.7% versus 2.1% for standard Q4_K_M on this MoE architecture, so quant choice materially affects agent quality. GLM-4.7-Flash's recommended path (UD-Q4_K_XL via llama.cpp or LM Studio; Ollama explicitly not recommended by Unsloth) has fewer documented quality landmines. |
| Raw capability ceiling | Tie | Neither wins this row — MiniMax-M2.5 does. At ~230B total parameters it benchmarks in Opus-4.6 territory on SWE-bench-class evals, which no 30B-class model matches (though Opus 4.6 still leads on SWE-rebench). The catch is that its capability is only 'local' if you own ~96GB+ of memory; for everyone else it is effectively an API model at $0.15/$1.20 per MTok in/out (standard tier), roughly 95% below Claude Opus 4.6's $5/$25. |
| Cost per useful token (local vs. API honesty check) | GLM-4.7-Flash Best edge | This is the row where a third party beats the local rig entirely: GLM-4.7-Flash is currently free on Z.ai's official API (docs.z.ai pricing page lists input, cached input, and output at no charge; OpenRouter carries it at $0.06/$0.40 per MTok). Meanwhile an RTX 4090 at ~450W full load costs about $0.07–0.09/hour in electricity alone at $0.15–0.20/kWh. If your workload has no privacy or offline constraint, the free API is unbeatable — local wins on data control, latency consistency, and unlimited-token economics only after those constraints apply. |
Choose Qwen3.5-35B-A3B if...
- Coding agents that read large repos, run tests, and iterate — 262K native context at 100–122 tok/s on a single consumer GPU is this model's signature trick.
- Throughput-sensitive agent loops where 40 tok/s vs 110 tok/s is the difference between interactive and painful.
- Claude Code-style local setups: pointing a coding agent at a local llama-server on one RTX 3090 at ~112 tok/s with zero API cost is a documented working configuration.
- Builders who will actually apply the optimized llama.cpp flags — the model's advantage largely evaporates on default Ollama settings, which can't do MoE expert offloading.
Choose GLM-4.7-Flash if...
- Tool-calling and browsing agents where τ²-Bench 79.5 and BrowseComp 42.8 map directly to the workload.
- Tighter VRAM budgets: the ~18GB 4-bit path leaves more headroom for KV cache and a parallel service on a 24GB card.
- Teams that want an MIT-licensed model with a free official API as the overflow path — same model locally and via Z.ai, so no behavior cliff when you burst to the cloud.
- Anyone optimizing cost-per-eval-point rather than tokens-per-second in the 30B class.
Decision Rules
- 24GB GPU + coding agent with long repo context: Qwen3.5-35B-A3B at Q4_K_M with q8_0 KV cache — the 262K context and 100+ tok/s are the operational win. Avoid UD-Q4_K_XL for this specific model (9.7% perplexity penalty in community tests).
- 24GB GPU + tool-calling/browsing agents where published eval strength matters: GLM-4.7-Flash on Unsloth's 4-bit path (~18GB) — 79.5 τ²-Bench is the number to beat in this class.
- 48GB rig (dual 3090s or one 48GB card): run either at higher quant with far more context headroom — this is the tier where local agents stop feeling fragile; MiniMax-M2.5 is still out of reach at Q4 (~120GB).
- 96GB+ unified memory or multi-GPU: MiniMax-M2.5 at 3-bit (~100GB) becomes the strongest local agent model available; below that memory line, consume it via API at $0.15/$1.20 per MTok instead.
- No privacy, compliance, or offline requirement: stop and price the API first. GLM-4.7-Flash is free on Z.ai and MiniMax-M2.5 runs ~$1/hour at 100 tok/s continuous — a local rig only wins that math when data control or always-on volume justifies it.
- Whichever model you pick, re-download GGUFs from Unsloth if you grabbed them in the first week — both models shipped chat-template bugs that silently corrupted tool calls, and the fixes are in the re-uploaded files.
Migration Notes
- Moving from API-only to local: start with GLM-4.7-Flash via the free Z.ai API to validate your agent loop, then bring the identical open weights in-house once volume or privacy demands it — this is the lowest-risk on-ramp of the three.
- Moving from a 24GB card to 48GB: keep the same model family and spend the new memory on quant quality and context length first, not on a bigger model — the 27B–35B tier with more headroom beats a 70B at starved quantization for agent work.
- Planning for MiniMax-M2.5 locally: budget ~100GB (3-bit) to ~120GB (Q4) of memory before considering it, and prototype against its API ($0.15/$1.20 per MTok) to confirm the capability jump matters for your tasks before buying hardware for it.