Methodology
We publish the formula so you can check the work instead of trusting us.
Memory
memory = params × bytes-per-weight + K/V cache × context + runtime overheadWeights are counted at the effective bit width of the quant, which includes the K-quant scale and minimum overhead. The K/V cache is the publisher’s own per-token geometry, multiplied by the context you pick: 8K, 32K, 128K. Runtime overhead is a flat 1.2GB for the process, activations and compute buffers.
| Quant | Bits per weight | Bytes per weight | Note |
|---|---|---|---|
| Q3_K_M | 3.91 | 0.489 | the last resort |
| Q4_K_M | 4.83 | 0.604 | the usual choice |
| Q5_K_M | 5.67 | 0.709 | a little safer |
| Q6_K | 6.56 | 0.820 | near-lossless |
| Q8_0 | 8.50 | 1.063 | no argument left |
| BF16 | 16.00 | 2.000 | as published |
The operating system reserve
Whatever holds the weights also holds something else, so the whole memory figure is never available. There are three rules, one per kind of memory, and each is a share of the memory inside a floor and a ceiling. What is left is the usable memory every fit is measured against.
- Mac, unified8%, min 3GB, max 8GB
- DGX Spark, unified6%, min 3GB, max 8GB
- A card, GDDR74%, min 0.8GB, max 2GB
- Mac mini, 16GB13.0GB usable
- Mac Studio, 256GB248.0GB usable
- DGX Spark, 128GB120.3GB usable
- GeForce RTX 5090, 32GB30.7GB usable
Speed
tok/s = memory bandwidth × efficiency ÷ (active params × bytes-per-weight)Decoding one token reads every active weight once, so the rate is set by how fast memory can be streamed, not by how fast the chip can multiply. That is why the formula divides the vendor’s published bandwidth by the bytes read per token. A mixture-of-experts model is charged only for the parameters it actually reads.
Efficiency is the measured fraction of theoretical bandwidth a real runtime reaches. We use 0.65 for dense models and 0.50 for mixture-of-experts models, calibrated against published llama.cpp runs on Apple silicon. The same two coefficients are applied to every platform on the Grid, so the comparison is even. A CUDA runtime usually does a little better than this, which makes an NVIDIA estimate here a floor rather than a promise.
Every speed on this site is an estimate. It is always labelled “est.” and it is never presented as a measured benchmark.
Fit
headroom = usable memory − memory requirementThere are three states and no adjectives. Headroom is printed in GB beside every one of them, so Tight is a number you can argue with.
- Won't fit
- headroom < 0
- Tight
- 0 ≤ headroom < max(4GB, 8% of the requirement)
- Fits
- headroom ≥ max(4GB, 8% of the requirement)
The 4GB floor exists because a small model with 2GB of headroom is still one long prompt away from swapping. A Tight fit is a fit, and we rank it as one.
Sources
Memory bandwidth
Each vendor’s published figure for the chip, used as given: apple.com for Apple silicon, nvidia.com for GB10 and the RTX 5090. We do not substitute a measured number for a spec number.
- M6
- 170GB/s
- M5 Pro
- 307GB/s
- M5 Max
- 460GB/s
- M5 Ultra
- 1.2TB/s
- GB10 Grace Blackwell
- 273GB/s
- RTX 5090
- 1.8TB/s
- M4 Max
- 546GB/s
- M3 Ultra
- 819GB/s
Parameter counts and K/V geometry
From each publisher’s own model card and config, for all 30 models in the library. Where a model is announced but the weights are not released, the page says so on the row.
Prices
Read from the seller’s own page and stamped with a checked-at time. Every Offer carries the reseller, the stock state and the minute it was last verified.
What the hourly check does not touch
A price only changes here when a machine reads it off the seller’s page and believes it. Three rules stop it publishing a number we are not sure of.
A price that moves more than 40 percent in one step is recorded and not published. A jump that size is more often our parser than the seller. A page that describes a new machine never overwrites a refurbished listing, or the other way round. A page we cannot read leaves its price exactly as it was, and the row keeps showing when a human last confirmed it.
Sold-out is held to the same standard. Apple’s refurbished pages currently carry an out-of-stock flag in their metadata while still offering an add-to-bag button. We treat that disagreement as no answer and leave the row alone.
Last price checks
Every hour a job re-reads the seller pages it can read and writes what it finds. Here are the last 10 attempts, including the ones that failed.
- AppleMac mini, M6, 32GB$1,499 confirmed
- AppleMac mini, M6, 16GB$1,099 confirmed
- AppleMac Studio, M5 Max, 48GB$3,099 confirmed
- AppleMac mini, M5 Pro, 48GB$2,499 confirmed
- AppleMac mini, M6, 24GB$1,299 confirmed
- AppleMac Studio, M5 Max, 128GB$5,099 confirmed
- AppleMac Studio, M5 Max, 64GB$3,499 confirmed
- AppleMac mini, M5 Pro, 64GB$2,899 confirmed
- AppleMac Studio, M5 Ultra, 512GBthe page loaded but publishes no price we can read
- ExpercomMac mini, M5 Pro, 24GB$859 confirmed
A reseller that blocks automated reads keeps the price a human read, and its row shows the day that happened. We would rather show an old number honestly labelled than a fresh one we guessed.
Affiliate disclosure
We earn a commission when you buy through our links. It does not change the price you pay, and it never changes the ranking.
Apple runs no hardware affiliate program, so Apple links earn us nothing at all. Ranking is by price, never by payout.
Corrections go to hello@local-ai-deals.nanocorp.app. Send a benchmark that contradicts an estimate and we check it, correct the calibration if you are right, and reply.