Local LLM Speed Calculator

Enter your machine and a model — estimated output speed (tok/s) and whether it fits

Your machine

Model

Your memory can handle up to F16 / BF16(full precision)

Manual model params (active with "Custom")

Where to look: huggingface.co model page → Files → config.json (num_hidden_layers / num_key_value_heads / hidden_size ÷ num_attention_heads)

Est. output speed (for this config)

69.0 tok/s

Model weights4.75 GB
KV cache (8K)1.18 GB
Total memory needed6.43 GB
Usage17.9%
Prefill speed519 tok/s
Efficiency0.80

Totally fine (≤60% used)

Show the math
Output speed (full VRAM) = 410 GB/s bandwidth × 0.80 efficiency ÷ 4.750 GB per token = 69.0 tok/s
Per-token read = 8.19B active params × 0.58 B/param (Q4_K_M)
KV cache = 2 × 36 layers × 8 KV heads × 128 dim × 2 bytes × 8K tokens = 1.18 GB
Memory total = weights 4.75 + KV 1.18 + overhead 0.50 = 6.43 GB — 17.9% of 36 GB
Prefill speed = 17.0 TFLOPS × 0.5 ÷ (2 × 8.19B) = 519 tok/s

Pure-math theoretical values: software-stack differences excluded; real runs usually land at 60–85% of theory (efficiency already derated by experience). For your true speed, measure tok/s on your machine with the LM Studio Panel.

Why local-model speed is computable

Generating text token by token (decode) re-reads the entire model weights from memory per token. So the output ceiling is almost entirely memory bandwidth, not compute: theoretical tok/s ≈ bandwidth ÷ bytes read per second. Example: Apple M4 Max memory bandwidth ≈ 410 GB/s, an 8B-param Q4 model ≈ 4.7 GB — ceiling ≈ 410 ÷ 4.7 × efficiency ≈ 70 tokens/s. On a 4060 Ti (288 GB/s) the same model lands around 40 tok/s.

Params × quants

Model size = params × quant level. Q4_K_M-style 4-bit quants run ≈ 0.58 bytes/param, so 7B ≈ 4.4 GB; Q8 nearly doubles that, F16 full precision quadruples it. Lower quants run smaller and faster but lose quality — hence this page's "suggested tier" hint: pick the best quality that still fits.

The three numbers that decide "does it run"

First, weight size: must fit VRAM or unified memory. Second, KV cache: the intermediate attention state kept to "remember" context — grows linearly with context length and with layer/KV-head counts. Long contexts are usually KV-bound, not weight-bound, and GQA shrinks it a lot. Third, runtime overhead: the framework's own buffers start around 0.5 GB — so this page judges at 98%, not 100%: a config that fills memory essentially always fails to load in practice.

The MoE "value illusion"

Mixture-of-experts models like Qwen3-30B-A3B and DeepSeek-V3 keep ALL parameters in memory but activate a small expert subset per token. So memory follows total params (30B Q4 ≈ 18 GB) while speed follows active params (3B speed, several times faster than same-size dense). That's how they run "big and fast" on consumer hardware — provided your memory holds every expert.