Local Inference

Model benchmarks

Local model performance, measured on one machine. How it's measured

One row per model, using its fastest config (chat generation where measured, otherwise llama-bench generation at empty context). Chat t/s and TTFT come from the chat benchmark: the same eight real prompts sent to every engine through its HTTP API, one at a time, so they compare across engines. PP, TG, VRAM and tok/J are means of repeated llama-bench runs, which only llama.cpp has.

ModelEngineSizeConfigCtxChat t/s ↑TTFT msPP t/sTG t/sTG t/s deepVRAMTok/J
Qwen3.8 27B Q4_K_M
Q4_K_M · dense
llama.cpp17.44 GB32k ctx, f16 KV32k30.822096532.430.3 @16k17.3 GB0.13
Qwen3.8 27B W4A16 AutoRound
W4A16 · dense
vLLM15.81 GB64k ctx, DFlash2 speculative decoding64k146137—————
Gemma 3 4B IT Q4_K_M
Q4_K_M · dense
llama.cpp2.49 GB32k ctx, f16 KV32k——8,196180163 @16k3.6 GB0.87

Chat generation speed

Decode tokens per second in the chat benchmark, default sampling, every engine. Click a bar to open the model.

Generation speed (llama-bench)

Tokens per second at empty context. Click a bar to open the model.

Speed vs weight size

llama-bench generation. Bigger weights mean more memory traffic per token.