RTX 5090 vs RTX 4090
MeasuredOn gpt-oss-20b (same quant and runtime family, chat-short), the RTX 5090 decoded at 324.2 tok/s and the RTX 4090 at 242.6 tok/s, each side's fastest matched run for that model.
Signed, community-submitted decode tok/s, prefill, and TTFT for RTX 5090 vs RTX 4090 — every number links to the run it came from.
On the matched pairs cited here (same model, same quant, llama.cpp, chat-short), the RTX 5090 decoded 1.31× to 1.73× as fast as the RTX 4090: Qwen3-Coder-30B-A3B Q4_K_M at 304.9 vs 232.5 tok/s (≈1.31×, r_vsype4pm1ko vs r_1k8942tw3zf); LFM2.5-24B-A2B Q4_K_M at 308.5 vs 231.9 (≈1.33×, r_c8k6fleym09 vs r_bqmpv9kncyd); gpt-oss-20b Q4_K_M at 324.2 vs 242.6 (≈1.34×, r_dwp5fgdapmw vs r_t-a9v_ipdit); Qwen3.6-35B-A3B Q4_K_M at 224.0 vs 160.6 (≈1.39×, r_g1aw3mizd32 vs r_m6j1zxwvp-f); Qwen2.5-Coder-14B Q4_K_M at 137.3 vs 89.87 (≈1.53×, r_xnr_k4emoyr vs r_eqnsqmgz29a); Qwen3.6-27B Q4_K_M at 75.09 vs 47.14 (≈1.59×, r_pob-co51bd- vs r_d_wda_rw62f); Qwen3-32B Q4_K_M at 69.83 vs 43.47 (≈1.61×, r_vhbqyt1f_xr vs r_ayy9rjgha5r); and Qwen3.8-27B Q4_K_M at 4K context at 75.19 vs 43.38 (≈1.73×, r_qfrb2zmyk0k vs r_7cap38a021-; different GGUF publisher, lmstudio-community vs ggml-org). Ratios are calculated from single measured runs. llm-speed measured the 5090 runs other than Qwen3.6-35B-A3B, and the 4090 runs for LFM2.5, Qwen3.6-35B-A3B and Qwen3.8-27B; the other runs are community-submitted, and each run page says which. One of the 5090 quants (Qwen3.6-35B-A3B) comes from the model file name; the gpt-oss-20b, Qwen3-Coder-30B-A3B, Qwen2.5-Coder-14B, Qwen3-32B and Qwen3.6-27B pairs use the labelled Q4_K_M core-set runs. Only the LFM2.5 pair used the same llama.cpp build; the others ran on different machines and builds, so these are measured reference points, not a controlled ranking. Nemotron Bolt still sits in the unmatched table (quant unreported on both cards), and so does gemma-4-12b-it-qat Q4_0: the 5090 run used a 16K context and the 4090 run 8K (r_v5arqmazf31 vs r_jfh0qkngw76), so they are not paired. With MTP on, a community-submitted 4090 run measured 84.51 tok/s on Qwen3.8-27B (r_7j8rpk9mwhg); there is no 5090 MTP run yet, so don't compare MTP-on against MTP-off across cards.
How to read these results
On gpt-oss-20b, the RTX 5090 decoded at 324.2 tok/s and the RTX 4090 at 242.6 tok/s. Across all 9 matched pairs the RTX 5090 decoded a median 1.44× as fast as the RTX 4090 (measured, chat-short; faster on 9 of 9). Each row in the table is a like-for-like pair: the same model and size, quant, runtime family and configured context on the chat-short workload, using each side's fastest run for that combination (a run measured by llm-speed when one exists). Runs can still differ in host, runtime build and context. These are reference results, not a controlled speed or answer-quality ranking. Inspect both source runs before choosing hardware. 1 more model was measured on both but not like-for-like; they are listed separately in the "Not a like-for-like pair" table below and left out of the comparison.
Models that have data on both rigs
Each cell shows the runtime version and build its run reported. “Builds differ” marks a pair whose two runs used different builds.
| Model | RTX 5090 decode | RTX 4090 decode | Δ | Source runs |
|---|---|---|---|---|
| gpt-oss-20b | 324.2tok/s chat-short · llama.cpp · Q4_K_M · 0.7.0-dev (build 1, commit 1268eda) | 242.6tok/s chat-short · llama.cpp · Q4_K_M · 0.6.0-dev (build 1, commit df18bee) | +81.6 | Builds differr_dwp5fgdapmw · r_t-a9v_ipdit |
| LFM2.5-24B-A2B | 308.5tok/s chat-short · llama.cpp · Q4_K_M · 0.6.0-dev (build 1, commit a0e6dc7) | 231.9tok/s chat-short · llama.cpp · Q4_K_M · 0.6.0-dev (build 1, commit a0e6dc7) | +76.6 | r_c8k6fleym09 · r_bqmpv9kncyd |
| Qwen3-Coder-30B-A3B-Instruct | 304.9tok/s chat-short · llama.cpp · Q4_K_M · 0.7.0-dev (build 1, commit 1268eda) | 232.5tok/s chat-short · llama.cpp · Q4_K_M · 0.6.0-dev (build 1, commit df18bee) | +72.4 | Builds differr_vsype4pm1ko · r_1k8942tw3zf |
| Qwen3.6-35B-A3B | 224.0tok/s chat-short · llama.cpp · Q4_K_M · build not reported | 160.6tok/s chat-short · llama.cpp · Q4_K_M · 8931 (9725a313b) | +63.4 | Builds differr_g1aw3mizd32 · r_m6j1zxwvp-f |
| Nemotron-3.5-Bolt-74B-A9B-24GB | 154.7tok/s chat-short · llama.cpp · IQ2 · 4K context · 0.7.0-dev (build 11669, commit 620d2225c) | 107.3tok/s chat-short · llama.cpp · IQ2 · 4K context · 0.7.0-dev (build 11669, commit 620d2225c) | +47.4 | r_z-l1yelv_67 · r_vkjsinuhlyl |
| Qwen2.5-Coder-14B-Instruct | 137.3tok/s chat-short · llama.cpp · Q4_K_M · 0.7.0-dev (build 1, commit 1268eda) | 89.87tok/s chat-short · llama.cpp · Q4_K_M · 0.6.0-dev (build 1, commit df18bee) | +47.4 | Builds differr_xnr_k4emoyr · r_eqnsqmgz29a |
| Qwen3.6-27B | 75.09tok/s chat-short · llama.cpp · Q4_K_M · 0.7.0-dev (build 1, commit 1268eda) | 47.14tok/s chat-short · llama.cpp · Q4_K_M · 0.6.0-dev (build 1, commit 3fb4767) | +28.0 | Builds differr_pob-co51bd- · r_d_wda_rw62f |
| Qwen3.8-27B | 75.19tok/s chat-short · llama.cpp · Q4_K_M · 4K context · 0.7.0-dev (build 11669, commit 620d2225c) · different GGUF publisher (lmstudio-community vs ggml-org) | 43.38tok/s chat-short · llama.cpp · Q4_K_M · 4K context · 0.7.0-dev (build 11803, commit a37cc4610) | +31.8 | Builds differr_qfrb2zmyk0k · r_7cap38a021- |
| Qwen3-32B | 69.83tok/s chat-short · llama.cpp · Q4_K_M · 0.7.0-dev (build 1, commit 1268eda) | 43.47tok/s chat-short · llama.cpp · Q4_K_M · 0.6.0-dev (build 1, commit df18bee) | +26.4 | Builds differr_vhbqyt1f_xr · r_ayy9rjgha5r |
Not a like-for-like pair
These have data on both sides, but the model size, quant or runtime differs, so they are not a head-to-head and are left out of the comparison above.
| Model | RTX 5090 decode | RTX 4090 decode | Why it isn't matched | Runs |
|---|---|---|---|---|
| gemma-4-12b-it-qat | 141.1tok/s llama.cpp · Q4_0 | 97.72tok/s llama.cpp · Q4_0 | context 16K vs 8K | r_v5arqmazf31 · r_jfh0qkngw76 |
See also: RTX 5090 benchmarks · RTX 4090 benchmarks · All hardware · All models · Methodology
Request the missing runs
No measured run yet for these pairs. Vote for the one you want; the most-requested runs go first. See all requests.
We never sell or share your email. Privacy