Methodology
Two metrics are shown per GPU: <bold>Read tok/s</bold> (how fast the model ingests your prompt) and <bold>Decode tok/s</bold> (how fast it streams tokens back). They model fundamentally different bottlenecks.
How the Performance Index is built
A GPU's raw speed comes from several public benchmark suites — 3DMark Time Spy, 3DMark Steel Nomad and PassMark — but they don't agree on a scale and they don't all test every card. Instead of trusting one of them, we line them all up onto a single scale and blend them, so one number ranks every GPU fairly even when the cards were measured by different tests.
One fixed yardstick
Every card is measured relative to a single reference GPU, the GeForce RTX 3060 12GB, which we pin at 100. Multiplying by 87.35 restores the familiar 3DMark-style number you see on the site (the 3060 lands on 8,735). Because the yardstick never changes, scores stay comparable across generations.
Line up each benchmark
Benchmarks disagree in a predictable way — some, like PassMark, squeeze the gap between fast and slow cards, while gaming-style tests spread it out. We learn each benchmark's stretch from the overlap between cards and undo it, so a score from any test lands at the same place on the shared scale.
Blend by trust, fill the gaps
The lined-up scores are combined with a weighted average: gaming-style benchmarks count most, synthetic ones less. A card that's missing one benchmark is still scored fairly from the others, so partial coverage never inflates or deflates its rank. Peak FP32 TFLOPS is used only as a last resort, when no real benchmark exists for a card.
Scale to 0–100% for easy reference
The steps above produce a raw 3DMark-style index. For the Performance figure shown on GPU and listing pages, we normalize that index to a 0–100% scale: the fastest GPU in our database sits at 100%, and every other card is shown as its percentage of that top score. This makes relative speed easy to read at a glance — a card at 72% delivers roughly 72% of the fastest card's measured performance.
Show the math▶
We treat each benchmark as a noisy measurement of one hidden quantity: a GPU's true log-performance θ (theta), with the reference GPU pinned at θ = 0. In log space, each source s relates to θ by its own straight line, where the slope bₛ captures how strongly that benchmark stretches or compresses the performance range:
We fit each line from the data — pivoted through the reference for benchmarks the reference itself ran, ordinary least squares otherwise — then invert it to map any measured score back onto the shared θ axis:
Finally we fuse a card's available sources with a weighted average on the θ axis (weights wₛ are editorial trust levels), convert back out of log space, and rescale to the historical 3DMark range:
perf_index = round( Indexg × 87.35 )
Note: Time Spy defines the scale (slope fixed at 1) for continuity with the historical index, so this is a pragmatic calibration rather than a pure latent-variable estimate that would privilege no single benchmark. Each source's residual scatter is tracked as a confidence signal but does not change the blend weights.
Value Score
Our unique Value Score identifies the 'sweet spot' in the market. It represents the amount of performance you receive for every dollar spent. A higher score indicates better value.