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.
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 | shWindows (PowerShell)
irm https://gpufit.dev/bench.ps1 | iexMeasured 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.