Real-world LLM speeds, measured by users

Estimates are a good start, but drivers, runtimes and settings change real speed. These are tokens per second that people measured on their own GPUs and Macs, with one command.

Runs0shared so far
Measured results0GPU, model and quant
GPUs covered0of 24 in the catalog
Models covered0of 29 in the catalog

Run the benchmark

The script talks to the Ollama already running on your computer. It loads the model you pick, generates 256 tokens three times at 4K context, and takes the median speed.

Then it prints the exact result it would send and asks you first. Nothing is sent unless you say yes, and you can read the script before running it: bench.sh, bench.ps1.

To benchmark a specific model, add its Ollama name, for example curl -fsSL https://gpufit.dev/bench.sh | sh -s -- qwen3:8b.

Add your real speed

One command times a model in your own Ollama, shows you exactly what it would send, and asks before sending anything. No sign-up, no personal data.

macOS and Linux

curl -fsSL https://gpufit.dev/bench.sh | sh

Windows (PowerShell)

irm https://gpufit.dev/bench.ps1 | iex

How the benchmark works

Measured so far

Median generation speed per GPU, model and quantization, from runs where the whole model was on one GPU. The percentage compares it with our bandwidth-based estimate.

The first results are still coming in. Run the benchmark above and yours will be one of the first.

Latest runs

Recent runs appear here.

What gets sent

Only what's needed to place the result on the right page: the GPU name and memory size (or Mac chip and memory), how many GPUs you have, your OS name, the Ollama version, the model and quantization, how much of the model sat on the GPU, the context length and the measured speeds.

No hostname, username, files or prompts. There are no accounts. To stop spam, the server keeps a hash of your IP address with a random key that changes every day and is deleted after two days, so it can count submissions per day but can never be turned back into an address.

Keeping it honest

Each network can send a few results per GPU and model per day. Speeds that are physically impossible for the card's memory bandwidth are rejected. Pages show the median, so a single odd result can't move the number much. Runs where part of the model spilled into system RAM, or that used several GPUs, are kept but left out of the headline numbers.

The data is open: https://gpufit.dev/api/bench/all returns every median as JSON.