cd /news/large-language-models/benchmarking-dflash-on-a-30b-model-w… · home topics large-language-models article
[ARTICLE · art-95534] src=dev.to ↗ pub= topic=large-language-models verified=true sentiment=· neutral

Benchmarking DFlash on a 30B Model: Why Tokens per Second Can Mislead

A developer's field guide benchmarks DFlash, a block-diffusion speculative decoding method, on 30B-scale models, arguing that tokens per second can mislead. The guide highlights DFlash's architectural differences from EAGLE-style drafters, its support in vLLM and SGLang, and notes that real production numbers are lower than headline claims. It also cites Meta's release of Muse Glimmer with an official DFlash drafter as a concrete data point.

read22 min views1 publishedAug 13, 2026

A field guide for ML engineers, LLM DevOps, and system architects deploying open-weights 30B-scale models with block-diffusion speculative decoding.

Two things make this architecturally distinct from EAGLE-style drafters:

The drafter is non-autoregressive. A block diffusion (masked-denoising) head predicts multiple future positions simultaneously, rather than feeding each drafted token back in as input to draft the next one.

The drafter is context-conditioned, not just token-conditioned. It consumes projected hidden-state features from the target model's forward pass, which is what lets it hit higher acceptance rates than a purely token-level draft model the drafter "sees" what the target model was thinking, not just what it emitted.

The project reports order-of-magnitude claims worth treating as upper bounds rather than guarantees: up to ~6x lossless acceleration in the paper's benchmarks, and up to 2.5x over EAGLE-3 in like-for-like comparisons, with NVIDIA's own writeup citing up to 15x on Blackwell hardware under favorable batching and kernel conditions. Real production numbers on your traffic mix will be lower than the headline figures; that gap is the entire subject of this article, and it's now also visible in independent third-party numbers rather than just vendor claims (more on that in §1.3 and §6).

DFlash ships with drop-in support in both vLLM (--speculative-config) and SGLang (--speculative-algorithm DFLASH), plus a Transformers backend for Qwen3/LLaMA-3.1 and an MLX backend for Apple Silicon. That breadth of serving-stack support rather than being a research curiosity is a big part of why teams are evaluating it as a default replacement for EAGLE-3 drafters on new deployments.

1.2 Why 30B is the sweet spot to benchmark

Most public speculative-decoding benchmarks cluster around two extremes: small models (7–9B) that fit comfortably on a single consumer GPU with room to spare, and frontier-scale models (70B+) that require multi-GPU tensor parallelism by default. Neither extreme reflects the fastest-growing production segment: dense or lightly-sparse 27B–35B models running on a single high-memory GPU an A100 80GB, H100 80GB, or a prosumer RTX 5090 which is exactly the class DFlash ships checkpoints for (Qwen3.5-27B, Qwen3.6-27B, Qwen3-Coder-30B-A3B, gemma-4-31B-it, Qwen3.5-35B-A3B).

This tier matters for benchmarking speculative decoding specifically because:

It sits at the memory-bandwidth/compute-bound inflection point. At BS=1, a 30B dense model in FP16/FP8 is squarely memory-bandwidth-bound on decode which is exactly the regime speculative decoding is designed to exploit. A 7B model has so much headroom that almost any drafter looks good; a 70B+ model run across multiple GPUs introduces NVLink/PCIe and tensor-parallel communication overhead that muddies the speculative-decoding signal with interconnect effects.

It's the practical ceiling for single-GPU enterprise and edge deployment. Above ~30–35B dense, most teams either quantize aggressively or move to multi-GPU serving, which changes the cost/latency calculus entirely.

It exposes draft-overhead effects that smaller models hide. The compute cost of the block-diffusion drafter's forward pass is a much larger fraction of the total step time relative to a 30B target than it would be relative to a 70B target so any inefficiency in the draft path shows up clearly in the numbers.

If your benchmark methodology can't survive scrutiny at 30B, it won't survive contact with a real fleet.

1.3 A concrete data point: Meta shipped its own DFlash drafter at this exact tier

This isn't just a hypothetical benchmarking tier anymore. On August 10, 2026, Meta open-weighted Muse Glimmer, a ~29.6B-parameter dense, agent-oriented model distilled from Meta's larger Muse Spark model and shipped it with an officially trained DFlash drafter (roughly 2.56B parameters, five draft layers, 16-token blocks) as a first-class part of the release, alongside full BF16 weights, two official GGUF quantizations, and ExecuTorch packages for Apple Silicon and NVIDIA. That makes Glimmer one of the first mainstream-lab releases where speculative decoding isn't a bolt-on community project but a maintained part of the model card.

Meta's own measured numbers, at batch size 1 under greedy decoding, are a useful reality check against the paper's headline multipliers:

Hardware

Plain decoding

With DFlash

Speedup

RTX 5090

74.9 tok/s

233.4 tok/s

3.1x

M5 Max

26.6 tok/s

50.2 tok/s

1.8x

M4 Max

not stated

not stated

1.5x

The DFlash paper reports over 6x on smaller models under ideal conditions; Meta's own vendor-published number for a 30B-class model at 4-bit is 3.1x on an RTX 5090. Independent commentary on the release (see §6) has been explicit that these are batch-one, greedy-decoding numbers averaged across Meta's own prompt set, and should not be treated as universal interactive speeds actual speedup still depends on draft-token acceptance, prompt distribution, sampling configuration, memory bandwidth, and verification-kernel efficiency, exactly as this article argues in §3.3. This is the same "your mileage will vary" gap the paper's 6x and NVIDIA's 15x figures already imply, now with a named vendor's own number sitting between the lab claim and field reality.

Worth flagging for methodology purposes: Glimmer's model card recommends stochastic sampling (temperature 1.0, top-p 0.95, top-k 64), but its published generation_config.json defaults to greedy decoding, and the DFlash throughput table above was also measured under greedy decoding. Greedy decoding is deterministic and tends to raise draft-token acceptance; sampling increases variance and can measurably reduce DFlash's speed advantage. Any benchmark you run against Glimmer or against any DFlash-equipped model needs to state explicitly which regime it used, because the two are not comparable numbers.

How fast the draft model proposes tokens

How many of those proposed tokens are actually accepted by the target model

How much batch size and concurrency the test harness used

Whether you're measuring prefill-heavy or decode-heavy workloads

A speculative decoding method can post an excellent aggregate TPS number by running at high concurrency where the target model's batched computer dominates the picture, while doing almost nothing to improve the metric that end users actually feel: how long they wait between tokens in a single, live conversation. Aggregate TPS is a server-throughput metric. Most complaints about "the model feels slow" are single-stream latency complaints. These are not the same axis, and speculative decoding's entire value proposition is strongest on the axis TPS doesn't measure well.

2.2 The metrics that actually predict user experience

TTFT (Time to First Token) vs. TBT / Inter-Token Latency TTFT is dominated by prefill attention over the full input context and is largely unaffected by speculative decoding, since the drafter only engages once decoding starts. TBT (also called inter-token latency, or ITL) is where DFlash's block-diffusion drafting is supposed to pay off: if a single forward pass reliably yields several accepted tokens, the effective per-token latency drops even though each verification step costs more wall-clock time than a single autoregressive step. Report TTFT and P50/P90/P99 TBT separately never blend them into one "avg latency" figure.

Acceptance Rate & Mean Accepted Length This is the load-bearing metric for any speculative method. Acceptance rate is the fraction of proposed draft tokens the target model's verification step keeps; mean accepted length (often written τ, tau) is the average number of tokens actually committed per verification round (draft block size sets the ceiling, not the floor). A drafter that proposes 16 tokens per pass but only gets 3 accepted on average is not meaningfully different from a drafter proposing 4 tokens with the same acceptance count except it burned more compute doing it. Acceptance rate is also highly task-dependent: code completion and structured/templated output (high local predictability) accept far more draft tokens than open-ended creative writing or multi-step reasoning traces, where token entropy is higher.

A real-world 30B run makes this concrete. In an independently published benchmarking log covering a Meta Muse Glimmer 30B + DFlash deployment on a single 24GB Blackwell-class GPU, a short coding task reached 84.64 tok/s at roughly 38.7% acceptance, while a mixed workload spanning code, prose, reasoning, and infrastructure work fell to 38.34 tok/s at roughly 14.4% acceptance same weights, same GPU, same drafter, radically different numbers depending purely on how predictable the output was. The author's framing is worth borrowing directly: with speculative decoding, tokens per second stops being a pure hardware benchmark and becomes a predictability benchmark as well.

Draft Model Overhead DFlash's drafter is not free. Every verification round costs: (a) the drafter's forward pass over the current context window plus the projected target hidden states, and (b) the target model's parallel verification pass over the proposed block. At small batch sizes the drafter's cost is latency you pay regardless of whether tokens get accepted; at large batch sizes, the drafter competes with the target model for the same GPU compute and memory bandwidth budget. Separately track draft latency and verification latency don't let the two get absorbed into a single "decode step" number.

One overhead source is easy to miss entirely: where token selection actually executes. In the same 30B benchmarking log referenced above, greedy token selection for the drafter was initially routed through a CPU-side path even though the drafter itself ran on GPU, forcing a device-to-host round trip and synchronization inside the hottest loop in the system. Moving argmax selection directly into the drafter's on-GPU backend graph a one-line addition to the computation graph produced a 5.6% throughput gain in isolation, and compounded further once the workload was predictable enough for DFlash to matter. The general lesson: if utilization, acceptance rate, and wall-clock throughput don't agree with each other, check for host/device synchronization boundaries in the draft loop before assuming the model or the GPU is the bottleneck.

Batch Size & Concurrency Scaling Speculative decoding's speedup shrinks as batch size grows, because the target model's per-token verification cost is amortized across a larger batch even without speculation the marginal value of "free" extra tokens per pass declines as the GPU is already well-utilized. This is precisely why serving stacks increasingly auto-disable speculation past a concurrency threshold (commonly observed around 32 concurrent sequences in production configs): beyond that point the drafter's overhead can net-negative your throughput. Any benchmark that reports a single TPS number without stating the batch size it was measured at is not reporting a usable result.

2.3 The economic version of the same problem

The TPS-hides-the-truth pattern isn't unique to speculative decoding; it's the same failure mode that's now well documented on the agentic-coding side of the industry. One widely circulated account describes a team that switched to "the top model on SWE-Bench" and saw its monthly inference bill roughly triple for the same amount of completed work, because the higher-scoring model burned several times more tokens per resolved ticket, more tool-call turns, and had worse prompt-cache reuse than a slightly-lower-scoring, much cheaper alternative. The generalizable point for this article: a single leaderboard number whether it's "% solved" on a coding benchmark or "tokens/sec" on a speculative-decoding benchmark collapses several independent cost and quality axes into one figure that's easy to publish and easy to misread. The fix in both cases is the same discipline: report the cost-bearing metrics (tokens burned, tool turns, cache hit rate for agentic benchmarks; acceptance rate, mean accepted length, draft overhead for speculative decoding) alongside the headline number, not instead of it.

Two configuration knobs matter most for a 30B benchmark:

num_speculative_tokens (vLLM) / speculative-num-draft-tokens (SGLang) the block size, commonly 15–16 in published DFlash configs. Larger blocks raise the ceiling on tokens-per-round but also raise the cost of a rejected block and the verification compute per round.

Draft attention backend DFlash configs frequently pin a specific attention backend for the drafter independent of the target model's backend (e.g., fa4 for the draft path while the target uses trtllm_mha), because the drafter's attention pattern (over a short masked block plus injected context features) has different optimal kernels than the target's long-context causal attention.

Meta's own Glimmer drafter is a concrete instance of this design: it pulls hidden-state features from five specific layers of the 52-layer target model (rather than one), injects them into every layer of the drafter rather than just the drafter's input, and uses five draft layers where EAGLE-3-style drafters typically use one. The stated rationale echoed by independent technical write-ups of the release is that because block-diffusion drafting makes proposing 16 tokens cost roughly the same as proposing one, the drafter can afford to be bigger and better-conditioned without paying the per-token drafting tax that sinks autoregressive drafters as block size grows.

3.2 Why 30B behaves differently than 8B or 70B

8B target models are so cheap to run that the drafter's overhead is nearly irrelevant. Almost any speculative method shows a large relative speedup because the baseline is already fast in absolute terms, and single-GPU memory bandwidth is rarely the binding constraint even at moderate batch sizes.

70B+ target models typically require tensor parallelism across 2–8 GPUs. This introduces cross-device communication (NVLink or PCIe all-reduce) into every verification step, and that communication cost is largely invariant to how many tokens are being verified in a round meaning the relative benefit of speculative decoding's parallel verification is partially masked by a fixed communication tax that has nothing to do with drafting quality.

30B dense (or 30B-class MoE) target models on a single GPU sit in the regime where:

Decoding at BS=1 is memory-bandwidth-bound (you're streaming ~30B parameters' worth of weights through HBM per token), which is exactly the bottleneck speculative decoding is designed to amortize by extracting multiple tokens per weight-streaming pass.

There's no cross-device communication tax, so speedups measured here reflect the drafting/verification mechanism itself, not TP topology.

The drafter is proportionally more expensive relative to the target than it would be at 70B+, so draft overhead artifacts are visible rather than buried in noise.

This is why 30B is diagnostically useful: it's large enough to be memory-bandwidth-bound (where speculative decoding should help most) and small enough that a single GPU's kernel scheduling and drafter overhead aren't hidden behind multi-GPU communication effects. It's also, not coincidentally, exactly the tier Meta targeted architecturally with Glimmer: a hybrid local/global attention layout (39 of 52 layers use 2,048-token sliding-window attention, only 13 use full-sequence attention) combined with a 16:1 grouped-query-attention ratio, which independent analysis estimates cuts a theoretical 104GB KV cache at 131K context down to roughly 1.7GB specifically so the whole stack (weights, KV cache, vision projector, and DFlash drafter) fits on a single 24GB consumer GPU. The point for benchmarking purposes: at this tier, attention layout and cache geometry decisions interact with speculative decoding's memory-bandwidth story just as much as the drafter itself does, and a benchmark that only reports tok/s without VRAM footprint at real context length is missing half the picture.

3.3 Edge cases where TPS lies to you

High aggregate TPS, degraded interactivity. At high concurrency (BS=16–32+), aggregate TPS can climb even as per-user TBT gets worse, because the scheduler is packing more sequences through the same compute budget the aggregate number goes up while every individual user's stream gets choppier. This is the single most common way teams misread a benchmark: they run a throughput sweep, see a great TPS number at BS=32, and ship it as the "interactive" configuration.

TPS dip at BS=1 from verification overhead. At BS=1, if acceptance rate on a given workload is mediocre (e.g., long-form reasoning with high token entropy), the fixed cost of the drafter's forward pass plus a mostly-rejected verification round can make single-stream generation slower than plain autoregressive decoding for that specific request pattern even though the same configuration shows a clear win on code-completion traffic. A single blended TPS number across a mixed eval set hides this entirely.

Block-size vs. acceptance-rate mismatch and why acceptance rate alone can pick the wrong config. Cranking num_speculative_tokens up looks good on paper (bigger ceiling) but if your traffic's real acceptance rate is low, you're paying for larger rejected blocks more often. The "optimal" block size is workload-dependent and should be swept, not assumed from a published default. A published 30B sweep makes the trap concrete: a 4-token draft block reached 47.5% acceptance but only 34.5 tok/s, while a 15-token block accepted a much smaller 18.0% of proposals yet reached 47.2 tok/s 37% faster despite accepting proportionally far fewer tokens, because the longer block amortized each expensive target-model verification pass across more committed tokens on average. Acceptance rate alone would have pointed you at the 4-token config; only mean accepted length (τ) explains why the 15-token config actually won on throughput. Report both, and don't let acceptance percentage alone drive your block-size decision.

Hidden sampler defaults silently changing your numbers. A serving stack's default sampling parameters can diverge from a model's documented recommendation without any error or warning. In the same published 30B log, removing an unrequested default min-p=0.05 filter that llama.cpp applied on top of Meta's documented temperature/top-p/top-k settings raised measured throughput by roughly 8%, because the extra filter was changing which candidate tokens became authoritative and therefore whether the drafter's proposed prefix survived verification. A benchmark that reports temperature but omits top-p, top-k, and min-p including whatever the serving stack defaults to when you don't set it explicitly is not reproducible.

Long-context KV cache position changes decode speed on its own. A server accepting a large --ctx-size proves the context loads, not that it performs. In the same case study, filling a 262K-token context to capacity dropped far-cache decode throughput to 21.56 tok/s a large drop from the 84.64 tok/s measured on the same configuration with a short prompt purely because attention over a fully occupied long-context KV cache is more expensive regardless of the drafter. Context capacity and context performance are different claims; benchmark both an empty and a realistically full cache.

This is intentionally a shape, not a filled-in scoreboard: the actual values are workload-, hardware-, and quantization-dependent, and any number pulled from a vendor blog without your own traffic replayed through it should be treated as a rough prior, not a deployment decision. Treat the columns above as the minimum set your own benchmark run needs to populate before you trust a "DFlash gave us Nx" claim.

4.2 Step-by-step benchmarking framework

Step 1 — Stand up the serving stack with DFlash enabled.

vLLM, on a 30B-class target with a matched DFlash draft checkpoint:

vllm serve Qwen/Qwen3.5-27B \

--speculative-config '{"method": "dflash", "model": "z-lab/Qwen3.5-27B-DFlash", "num_speculative_tokens": 15}' \

--attention-backend flash_attn \

--max-num-batched-tokens 32768

SGLang, on the 35B-A3B MoE variant:

export SGLANG_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN=1

python -m sglang.launch_server \

--model-path Qwen/Qwen3.5-35B-A3B \

--speculative-algorithm DFLASH \

--speculative-draft-model-path z-lab/Qwen3.5-35B-A3B-DFlash \

--speculative-num-draft-tokens 16 \

--tp-size 1 \

--attention-backend trtllm_mha \

--speculative-draft-attention-backend fa4 \

--mem-fraction-static 0.75 \

--trust-remote-code

For local / single-GPU llama.cpp deployments (the path Meta's own Glimmer GGUF release and most community DFlash benchmarks actually use), the two flags most likely to silently sink your numbers if misconfigured are the ones that load the drafter and place its layers on GPU if you set one and forget the other, the drafter runs on CPU while the GPU waits, which can make speculative decoding measurably slower than plain decoding. Confirm the drafter's layers are actually on-device before trusting any throughput number from a llama.cpp-based benchmark.

Step 2 — Establish a non-speculative baseline first. Re-run the same server without --speculative-config / --speculative-algorithm to get your autoregressive TTFT/TBT/TPS floor. Every speculative-decoding number is only meaningful relative to this baseline, measured on identical hardware, identical max-num-batched-tokens, and identical prompt/output length distribution.

Step 3 — Sweep batch size / concurrency, not just one operating point. Run at BS=1 (interactivity floor), a mid-range concurrency (e.g., 8), and your expected production ceiling (e.g., 32+). DFlash's own benchmark harness supports this directly:

python -m dflash.benchmark --backend vllm \

--base-url http://127.0.0.1:8000 --model Qwen/Qwen3.5-27B \

--dataset gsm8k --num-prompts 128 --concurrency 1 --enable-thinking

Repeat with --concurrency 8, --concurrency 32, and swap --dataset across your representative task mix (the harness ships with gsm8k, math500, humaneval, mbpp, and mt-bench out of the box — supplement with your own production prompt sample if these don't reflect your traffic).

Step 4 — Segment results by task type before averaging anything. Run code-completion-style prompts, open-ended chat, and long-form reasoning traces as separate benchmark passes. A blended acceptance rate across all three will systematically overstate performance on your hardest workload and understate it on your easiest one. Independent community benchmarks of DFlash on Qwen3.6-27B under llama.cpp go a step further and pair the speed sweep with a correctness check — since greedy speculative decoding is lossless with respect to the target model, comparing pass@1 on a math benchmark between the plain baseline and the DFlash-accelerated server is a useful sanity check that your speedup isn't coming from a quantization or sampling bug that's also changing outputs.

Step 5 — Instrument TTFT and TBT independently, either via your serving stack's built-in Prometheus metrics (both vLLM and SGLang expose per-request TTFT/ITL histograms) or via a client-side harness like vLLM's benchmark_serving.py, which reports percentile latency breakdowns rather than a single averaged number.

Step 6 — Capture VRAM at your real target concurrency, not at BS=1. The draft model's weights and its own (smaller) KV cache are additive to the target model's footprint headroom that looks generous at BS=1 can disappear once you're holding KV cache for 32 concurrent long-context sequences plus the target and draft weights. This matters more than it sounds: on a real 24GB-class deployment, a GGUF file size alone (e.g., a "17GB quant") is not the memory you need add the KV cache, any vision projector, the drafter's own weights and cache, and runtime/kernel overhead before assuming you have headroom.

Step 7 — If you're evaluating quantization alongside DFlash, benchmark them together, not separately. Two target quants with near-identical perplexity can still expose different hidden-state features to the drafter and produce meaningfully different acceptance rates quantization quality and speculative-decoding compatibility are separate axes, and perplexity alone can't tell you which quant will actually pair well with your drafter. In one published sweep, the fastest quantized variant (a hybrid low-precision format) had the worst perplexity of the set tested, and was rejected for production despite topping the throughput table while the variant with the best perplexity was, in turn, roughly 13% slower with worse DFlash acceptance than the mid-precision option that was ultimately selected. Treat quant selection as a Pareto-frontier problem across perplexity, throughput, and acceptance rate simultaneously not a single "pick the smallest file that still passes eval" decision.

Agentic and tool-calling workflows, where output is often structurally predictable (function signatures, JSON- or XML-shaped arguments, repeated scaffolding) and acceptance rates tend to run high. This is also the exact use case Meta targeted with Glimmer's architecture; a model designed around long-running tool-call loops is, not coincidentally, a model that plays especially well with a block-diffusion drafter.

Code completion / code generation, for the same reason high local token predictability plays directly to a well-conditioned block drafter's strength. Published 30B results back this up sharply: a coding workload reached 4.5x over plain decoding in one case study, while a mixed agentic workload on the identical setup landed closer to 2.1x.

Long-context generation at low-to-moderate concurrency, where you're memory-bandwidth-bound on decode and not yet compute-saturated by batching the regime where speculative decoding's core value proposition is strongest, though remember that decode speed itself degrades as the KV cache actually fills, independent of the drafter.

Where to be cautious:

High-concurrency, throughput-maximizing deployments (large batch serving) verify your specific batch-size cutoff where speculation stops paying for itself, and configure the serving stack to auto-disable speculation past that point rather than assuming it will.

Open-ended creative or high-entropy reasoning workloads benchmark acceptance rate on your actual traffic before assuming published numbers transfer. Architecture-planning and ambiguous-reasoning prompts are the specific failure mode published case studies keep flagging: multiple continuations can be equally valid, an exact-token verifier still rejects the drafter's alternative, and the round is wasted.

Vendor-published, batch-one, greedy-decoding numbers presented as "the" speedup. Even a mainstream lab's own official drafter (Glimmer's DFlash checkpoint) is benchmarked this way, and independent commentary on that release was explicit that these figures shouldn't be treated as universal interactive speeds. Rerun the vendor's own numbers on your sampling configuration before trusting them.

Before you deploy, not after:

Never trust a single aggregate TPS number, insist on TTFT, TBT, acceptance rate, mean accepted length (τ), and VRAM footprint reported together, at a stated batch size, on your own workload mix.

Benchmark at the batch size you'll actually run in production, not the one that makes the demo look best.

Segment acceptance rate and speedup by task category a single blended number will mislead you in whichever direction your eval mix happens to be skewed.

Re-run your baseline (non-speculative) on identical hardware and settings every time you re-benchmark driver, kernel, and framework version drift can shift the baseline enough to invalidate a stale comparison.

Treat published multipliers (6x, 2.5x over EAGLE-3, 15x on Blackwell, or even a lab's own 3.1x for a shipped 30B model) as best-case upper bounds set under favorable batching, sampling, and hardware conditions your mileage on a 30B model, your traffic, and your GPU will vary, and the only way to know by how much is to run the benchmark yourself.

Report sampling parameters in full, including anything your serving stack defaults to silently a single unrequested default filter has been shown to cost single-digit-percent throughput on its own in a real deployment.

Confirm the draft-selection path stays on-device (GPU) before trusting any llama.cpp-class benchmark; a CPU round-trip inside the draft loop is an easy, common, and easy-to-miss source of a several-percent throughput hit.

If quantization is in scope, benchmark it jointly with the drafter, not independently perplexity and DFlash acceptance rate are separate axes and the best quant on one is not automatically the best on the other.

A detailed, numbers-heavy field log of getting a dense 30B model (Meta's Muse Glimmer), 256K context, vision, and DFlash to coexist on a single 24GB Blackwell GPU the source of most of the concrete acceptance-rate, block-size, min-p, and GPU-argmax numbers cited throughout §2–§4 of this article.

Independent architectural analysis of Muse Glimmer's hybrid local/global attention and GQA design, useful background for understanding why 30B-class models are being built specifically around single-GPU memory budgets rather than just scaled-down frontier architectures.

A skeptical, caveat-heavy read of Meta's own Glimmer benchmark claims, which is a good template for the kind of question-everything posture this article recommends applying to any vendor's speculative-decoding numbers including Meta's own.

Community reproductions of DFlash on Qwen3.6-27B (llama.cpp) and on Apple Silicon via MLX, both of which pair throughput sweeps with correctness checks (pass@1 against a non-speculative baseline) rather than reporting tok/s alone.

A broader, non-DFlash-specific piece on why leaderboard percentages can hide multi-x differences in real operating cost the same discipline this article recommends applying to acceptance rate and mean accepted length applies just as directly to token/dollar economics on the agentic-coding side of the industry.

── more in #large-language-models 4 stories · sorted by recency
── more on @dflash 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/benchmarking-dflash-…] indexed:0 read:22min 2026-08-13 ·