Features Models Benchmark Ranking FAQ

MLXHub AI Benchmark v1

How the MLXHub benchmark works

The benchmark measures how well an iPhone or iPad runs language models locally: generation speed, prompt processing, model loading, usable memory and sustained performance. The measurements are combined into one global score that can be compared with other devices in the public ranking.

It measures performance only. It does not evaluate the quality of model output.

4 model configurations8 short and long scenarios6 weighted metrics

01 · Tests

Test procedure

A complete run measures usable memory once, then runs a short and a long conversation with each of the four model configurations below: eight scenarios in total. Prompts and generation settings are fixed by the protocol.

ModelPrecisionPurpose
Gemma 4 E2B Instruct4-bitSmall resident model; baseline workload.
Gemma 4 E4B Instruct4-bitLarger resident model.
Gemma 4 E2B Instruct8-bitSame E2B model at 8-bit: higher precision and memory footprint.
LFM2.5 8B A1B8-bitMixture-of-experts model; measures expert streaming from storage.

4-bit and 8-bit refer to how the model weights are stored. They are different workloads, not quality levels. LFM streams its experts from storage; the other three configurations stay resident in memory.

Short prompts measure a light input. Long prompts measure the cost of processing accumulated context. Running both exposes different bottlenecks.

  1. Memory test

    The test allocates memory gradually and records memory-pressure warnings and peak footprint. A safety margin converts those readings into the recommended usable memory for the run.

  2. Model loading

    Each scenario loads its model. Throughput is model size divided by load time, in GB/s, measured separately from generation speed.

  3. Cold prompt processing

    The model processes the short or long prompt with an empty prompt cache. Prompt tokens divided by processing time gives the cold prefill rate in tokens per second.

  4. Prompt cache reuse

    A second pass with a warm cache checks whether the retained context is reused. Its speed is recorded as a diagnostic only: it does not contribute to the score and never replaces the cold measurement.

  5. Sustained generation

    The model generates successive turns of up to 32 tokens for four minutes. The first 10 seconds are warm-up. Only measured generation intervals count toward tokens per second; time spent processing a new prompt is excluded.

  6. Stability and thermal state

    The test compares early and late generation speed and records the thermal state throughout. For the mixture-of-experts model it also measures expert read throughput. Each phase waits until the device reaches the required thermal state.

Duration

Eight scenarios of four minutes each give 32 minutes of sustained generation. Downloads, loading, prompt processing, the memory test and cool-down periods add to that. A scenario can extend by up to one minute to collect the minimum evidence: two independent turns and five scored seconds.

Recommended conditions

Use a Release build of the app, turn off Low Power Mode, disconnect external power and let the device cool down before starting. The app checks these conditions and marks phases affected by heat. Keep the app in the foreground: locking the device or leaving the app interrupts the run, and runs cannot be resumed yet.

The memory test and individual models can be run on their own. Partial runs keep their local measurements, but only a complete run produces a global score that can be published.

02 · Score

Score calculation

The global score combines six metrics with fixed weights. Generation speed and usable memory carry the most weight. The weights are a product decision, not the result of a statistical fit.

Generation

30%

Tokens per second during scored generation. It has the highest weight because it determines how fast a response appears.

Usable memory

22%

Recommended usable memory measured in the run. It determines which models and context sizes fit on the device. Measured once and compared with both references.

Cold prompt processing

15%

Input tokens per second with an empty prompt cache. It determines the wait before a response starts, especially with long prompts.

Endurance

15%

Combines speed retention and thermal state during sustained generation. It measures whether performance holds beyond a short burst.

Expert reading

10%

MiB per second read by LFM’s expert stream. It measures workloads larger than resident memory. Reads may be served from the system cache, so this is not raw flash speed.

Model loading

8%

Model size divided by load time, in decimal GB/s. Loading happens less often than generation, so it has the lowest weight.

Calculation steps

  1. For each scenario, the measurement is divided by the matching reference. A ratio of 1 equals the reference; 2 is twice the reference value. Each ratio has a floor of 0.05 and no upper limit.
  2. Ratios are combined with the geometric mean within each metric. Generation, prompt processing, loading and endurance combine all eight scenarios with equal weight. Expert reading combines only the two LFM scenarios.
  3. Memory is a single measured amount compared twice: with the 4-bit memory reference and with the 8-bit reference. In Benchmark v1 both references are the iPad Pro M1 measurement. The two ratios are combined geometrically and the 22% weight is applied once.
1000 × D0.30 × P0.15 × L0.08× M0.22 × E0.15 × S0.10

D: generation · P: cold prompt · L: loading · M: memory · E: endurance · S: expert reading

The score is not a sum of points or an average of the two category scores. Doubling generation alone multiplies the global score by 2⁰·³⁰, about 1.231: a 23% increase.

Calculation details

Endurance

Speed retention is the last generation window divided by the first, capped at 1. The windows are the first and last 15% of observed generation, taken from different completed turns. Thermal comfort is a time-weighted average: nominal 1, fair 0.85, serious 0.45 and critical 0.15. Endurance is the square root of retention × comfort. Heating during a valid phase lowers comfort; it does not invalidate the run.

Memory safety margin

With warning footprint W and critical footprint K, recommended memory is the smaller of 0.95 × W and 0.85 × K. Without a critical event, it is 0.85 × W. Values are truncated to whole bytes. If no warning occurs, the peak footprint is used as W.

Filtered scores

Model and conversation filters restrict the measurements being combined. An individual metric shows 1000 × its aggregated ratio. For a combined score without expert streaming, the storage factor is omitted and the remaining weights are not rescaled. A 4-bit score and an 8-bit score therefore describe different workloads.

Out-of-memory failures

A documented memory limit keeps the completed phases and assigns a ratio of 0.05 to the interrupted phase and the phases that depend on it. A load failure penalizes all metrics of the scenario; a cold-prompt failure keeps loading; a warm-prompt or generation failure keeps loading and cold prefill. The scenario stays in the average, so running out of memory never improves the score. Cancelled, omitted, heat-affected or invalid tests are not treated this way.

Calculator

Formula calculator

Select a measured example and adjust each metric. Performance controls multiply every scenario’s original ratio before the 0.05 floor is applied. Memory is a single amount compared with both references. The calculator illustrates the formula; it does not predict the score of a real device.

03 · References

Reference device

Benchmark v1 uses a single reference device for both the 4-bit and the 8-bit references: the iPad Pro 12.9-inch (5th generation) with M1 and 8 GB of memory. Its run completed all eight scenarios without a pause. M1 is the first chip in Apple’s M series, the starting point of Apple silicon on Mac and iPad, so a score reads as a multiple of that starting point: 1570 is about 1.57 times the M1 reference. The reference is the 8 GB model; an iPad Pro M1 with 16 GB has more usable memory and therefore scores higher.

Device4-bit score8-bit scoreGlobal score
iPad Pro M1 (8 GB)100010001000
iPhone 17 Pro Max1352.911654.931569.68

Because the iPad Pro M1 defines every reference, it scores exactly 1000 in 4-bit, 8-bit and global. The iPhone 17 Pro Max is an example measured against that reference, not a reference itself.

Measured on app Release 2.2.1 (84). iPad (reference): iPadOS 27.0 build 24A435; iPhone (example): iOS 27.0 build 24A437. “Release” refers to the app build, not to the operating system.

Download the Benchmark v1 reference values (JSON)

Reference values used for scoring, not ranking data. Scores are only comparable within the same benchmark version.

04 · Ranking

Public ranking

The ranking shows how well a device performs for local inference and how it compares with the ten highest-scoring devices published by MLXHub users.

  1. One row per device

    Each row is a device model with a specific memory size, for example iPhone 17 Pro Max with 12 GB. It shows the best global score published for that combination, so one device cannot occupy several positions.

  2. Top 10 and your result

    The main view lists the ten highest-scoring devices, for all devices or only iPhone or iPad. If your best result is not in the Top 10, it is shown below the list for direct comparison. The full list is available from the same screen.

  3. Publishing

    Publishing is optional and requires an iCloud account. Results appear in the ranking as soon as they are published; review takes place afterwards. Your account keeps one best result per device and benchmark version, and a new run replaces it only if its global score is higher.

  4. Comparing individual tests

    Compare tests filters the ranking by quantization, model and conversation length. The score then combines only the selected measurements, as described in Calculation details.

05 · Validation

Result validation

The ranking does not take submitted scores at face value. The app checks every result when it is published and again when the ranking is loaded, and the MLXHub team reviews published results.

  1. Fixed protocol

    Scenarios, settings, warm-up, timing and generation windows are fixed, which prevents selecting favorable measurements. A partial run cannot be published as a complete benchmark.

  2. Score recomputation

    The app recomputes each score from its measurements using the current calibration and excludes any result whose stored score does not match. Review decisions are bound to the exact submission, so editing a measurement invalidates them.

  3. Plausibility limits

    Measurements far above what the reference device achieves are rejected. The whole result is excluded; scores are never capped or adjusted. The limits are deliberately wide so that faster future hardware is not penalized.

  4. Review by the MLXHub team

    The MLXHub team periodically verifies published scores, both manually and through automated reviews. Results that do not pass review are removed from the ranking, and accounts that submit manipulated results can be excluded.

Result labels

Not reviewed
Published and checked by the app, not yet reviewed. Included in the ranking.
Reviewed
Passed the automated consistency review.
Verified
Verified by the MLXHub team.

Limitations

  • The checks reduce the effect of incorrect or manipulated data, but they cannot prove that a device, account or measurement is genuine.
  • Model weights are not yet cryptographically bound to each submission, and model repositories and OS versions can change between runs.
  • Ambient temperature and background activity are not controlled. Expert reads may be served from the system cache.

Method versioning

Any change to workloads, timing, weights or references requires a new benchmark version. Validation rules are versioned separately. Published scores keep the meaning of the version they were measured with.

Last updated 11 October 2026 · Benchmark v1

Device ranking