Every number on a product page that is not a price is an estimate computed from the spec sheet with the formulas below. Estimates are rounded to two significant figures and shown as approximate. Where we have measured results for a device, its row carries a measured badge and the efficiency factor is fitted from those measurements.
The speed column on the ladder uses the model and quant you pick (default Qwen3.8 27B at Q4_K_M), for one user with 8K of context, and remembers your choice. The list is grouped by vendor family, newest first, and covers dense and mixture-of-experts models from 8B to the trillion-parameter class; the fit table on each product page runs every one of them and highlights your pick. A model that would not fit the largest machine we track even at IQ2_M is left off the list until a machine that holds it exists. Models that keep only part of their layers as full attention (Qwen3.6 and 3.8, Gemma 4, MiMo) or compress the cache (DeepSeek) are entered with their documented cache cost per token rather than the generic formula. Sparse lookup tables (Qwen3.8 Flash-Next's 51B n-gram table, DeepSeek V4.1 Flash's 196B Engram memory) are not counted as weights: they can stay on the CPU side.
Memory needed
Memory needed is the weights plus the KV cache plus a fixed overhead of 1.5 GB for runtime context and fragmentation.
needed_GB = params × bytes_per_weight + 2 × layers × kv_heads × head_dim × kv_bytes × context / 1e9 + 1.5
Bytes per weight by quantisation (effective GGUF sizes): FP16 2.0, Q8_0 1.06, Q6_K 0.82, Q5_K_M 0.71, Q4_K_M 0.61, Q3_K_M 0.49, IQ2_M 0.34. KV cache is FP16 (2 bytes) unless stated.
Decode speed
Generating one token at batch size one reads the whole active model once, so decode speed is bounded by memory bandwidth divided by bytes per token, times an efficiency factor for the software stack.
decode_tok_s = efficiency × bandwidth_GB_s / (active_params × bytes_per_weight)
Starting efficiencies: 0.65 for CUDA, 0.60 for Apple Metal, 0.50 for Strix Halo (ROCm or Vulkan). For mixture-of-experts models only the active experts are read, so Qwen3-235B-A22B reads 22B parameters per token even though all 235B must fit in memory.
Prompt processing
Prefill is compute-bound: two floating-point operations per parameter per token, divided into the device's dense FP16 throughput, times an efficiency factor (0.35 CUDA, 0.25 Metal and ROCm). Cards without fast FP16 are estimated from FP32.
prefill_tok_s = efficiency × dense_TFLOPS × 1e12 / (2 × active_params × 1e9)
Worked example
Qwen3.8 27B at Q4_K_M is about 16.5 GB of weights. An RTX PRO 6000 at 1,792 GB/s estimates 0.65 × 1792 / 16.5 = about 71 tokens per second; an RTX 4090 at 1,008 GB/s about 40; a DGX Spark at 273 GB/s about 11. Published measurements for the 4090 on 27B to 32B dense models at Q4 sit in the 30s to low 40s, which is why we trust the method as a first estimate and label it as one.
Prices
eBay prices are the cheapest active listing that passes our filters (title rules, a price floor that excludes brackets and cables, and for expensive products a seller reputation bar), refreshed every 15 minutes through eBay's Browse API. Prices include the listing's shipping cost as eBay quotes it to a US address (we use Portland, Oregon), so a cheap item with expensive shipping does not rank first; a listing without a shipping quote ranks on its item price and is marked "plus shipping". Amazon offers are links to the product page; we do not show Amazon prices yet. Every price shows the time it was observed. Product prices and availability are accurate as of the date and time indicated and are subject to change; the price shown on the vendor's site at the time of purchase applies.