Skip to content
llm-speed

RTX 4090 vs RTX 3090

MeasuredOn gpt-oss-20b (same quant and runtime family, chat-short), the RTX 4090 decoded at 242.6 tok/s and the RTX 3090 at 207.2 tok/s, each side's fastest matched run for that model.

Signed, community-submitted decode tok/s, prefill, and TTFT for RTX 4090 vs RTX 3090 — every number links to the run it came from.

Verdict (measured runs)

On Qwen3.8-27B Q4_K_M, llm-speed measured the RTX 4090 about 12% faster than the RTX 3090: 43.41 vs 38.83 tok/s (r_k1hhpa9io2o vs r_w40_vv7f77w; llama.cpp build 11803, 8K context, chat-short, every layer on the GPU), with the same CLI, build, model file and settings on both cards and a gap of 11–12% on all four workloads. The matched-pair count and median below are computed from the current table. Most of those pairs are community-submitted runs on different machines and runtime builds, so they are measured reference points, not a controlled ranking. Overlaps that aren't like-for-like (a different model size, no quant reported, or a request that included a cold model load) are listed separately. Both are 24GB cards. Older Ollama runs from a host whose RTX 4090 reports 48GB of GPU memory are excluded here: a retail RTX 4090 has 24GB, and we can't confirm what that card is. For whether the upgrade is worth buying, read our RTX 3090 vs 4090 buying explanation.

How to read these results

On gpt-oss-20b, the RTX 4090 decoded at 242.6 tok/s and the RTX 3090 at 207.2 tok/s. Across all 16 matched pairs (11 models; a model appears once per quant, runtime and context it was measured at) the RTX 4090 decoded a median 1.17× as fast as the RTX 3090 (measured, chat-short; faster on 16 of 16). 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. 2 more models were 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.

hardware
RTX 4090
NVIDIA Ada/Blackwell · 24 GB VRAM
View RTX 4090 page →
hardware
RTX 3090
NVIDIA Ampere · 24 GB VRAM
View RTX 3090 page →

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.

ModelRTX 4090 decodeRTX 3090 decodeΔSource runs
gpt-oss-20b242.6tok/s
chat-short · llama.cpp · Q4_K_M · 0.6.0-dev (build 1, commit df18bee)
207.2tok/s
chat-short · llama.cpp · Q4_K_M · 0.7.0-dev (build 1, commit ea0c4c2)
+35.4Builds differr_t-a9v_ipdit · r_nakw1nq6clw
Qwen3-Coder-30B-A3B-Instruct232.5tok/s
chat-short · llama.cpp · Q4_K_M · 0.6.0-dev (build 1, commit df18bee)
199.7tok/s
chat-short · llama.cpp · Q4_K_M · 0.7.0-dev (build 1, commit ea0c4c2)
+32.7Builds differr_1k8942tw3zf · r_0dh1kzbv4h0
glm-4.7-flash (29.9B)164.9tok/s
chat-short · ollama · Q4_K_M · 0.31.1
134.6tok/s
chat-short · ollama · Q4_K_M · 0.31.1
+30.3r_ted0u8uyre0 · r_kalwcyab-86
Flint 40B-A2.5B168.0tok/s
chat-short · llama.cpp · UD-Q3_K_XL · 8K context · 0.7.0-dev (build 11803, commit a37cc4610)
130.8tok/s
chat-short · llama.cpp · UD-Q3_K_XL · 8K context · 0.7.0-dev (build 11803, commit a37cc4610)
+37.2r_r7gzl4lmmdc · r_-yeg4qnhjp7
Flint 40B-A2.5B169.2tok/s
chat-short · llama.cpp · UD-Q3_K_XL · 16K context · 0.7.0-dev (build 11803, commit a37cc4610)
128.9tok/s
chat-short · llama.cpp · UD-Q3_K_XL · 16K context · 0.7.0-dev (build 11803, commit a37cc4610)
+40.3r_sw92j6kg7js · r_v-sdiljpm7i
llama3.1 (8.0B)137.3tok/s
chat-short · ollama · Q4_K_M · 0.31.1
136.2tok/s
chat-short · ollama · Q4_K_M · 0.31.1
+1.1r_2np7abzjobe · r_9hurqggbshk
Nemotron-3.5-Bolt-74B-A9B-24GB107.3tok/s
chat-short · llama.cpp · IQ2 · 4K context · 0.7.0-dev (build 11669, commit 620d2225c)
87.75tok/s
chat-short · llama.cpp · IQ2 · 4K context · 0.7.0-dev (build 11669, commit 620d2225c)
+19.6r_vkjsinuhlyl · r_-sifd5otbpy
Nemotron-3.5-Bolt-74B-A9B-24GB107.0tok/s
chat-short · llama.cpp · IQ2 · 8K context · 0.7.0-dev (build 11669, commit 620d2225c)
80.32tok/s
chat-short · llama.cpp · IQ2 · 8K context · 0.7.0-dev (build 11669, commit 620d2225c)
+26.7r_iu0s18cs9d8 · r_w3lond-s75t
Qwen2.5-Coder-14B-Instruct89.87tok/s
chat-short · llama.cpp · Q4_K_M · 0.6.0-dev (build 1, commit df18bee)
78.21tok/s
chat-short · llama.cpp · Q4_K_M · 0.7.0-dev (build 1, commit ea0c4c2)
+11.7Builds differr_eqnsqmgz29a · r_rkyf9wxzw9z
qwen2.5-coder (14.8B)81.18tok/s
chat-short · ollama · Q4_K_M · 0.31.1
69.21tok/s
chat-short · ollama · Q4_K_M · 0.31.1
+12.0r_ttniv2j74vk · r_6ahy-dq0f_0
Qwen3.6-27B47.14tok/s
chat-short · llama.cpp · Q4_K_M · 0.6.0-dev (build 1, commit 3fb4767)
42.73tok/s
chat-short · llama.cpp · Q4_K_M · 0.7.0-dev (build 1, commit ea0c4c2)
+4.4Builds differr_d_wda_rw62f · r_qm1xyvjmx_r
Qwen3.8-27B44.18tok/s
chat-short · llama.cpp · Q4_K_M · 8K context · 0.7.0-dev (build 11803, commit a37cc4610)
38.83tok/s
chat-short · llama.cpp · Q4_K_M · 8K context · 0.7.0-dev (build 11803, commit a37cc4610)
+5.4r_tt9io-8lu9p · r_w40_vv7f77w
Qwen3.8-27B43.38tok/s
chat-short · llama.cpp · Q4_K_M · 4K context · 0.7.0-dev (build 11803, commit a37cc4610)
38.61tok/s
chat-short · llama.cpp · Q4_K_M · 4K context · 0.7.0-dev (build 11803, commit a37cc4610)
+4.8r_7cap38a021- · r_mmtzel_i367
Qwen3.8-27B43.38tok/s
chat-short · llama.cpp · Q4_K_M · 16K context · 0.7.0-dev (build 11803, commit a37cc4610)
38.57tok/s
chat-short · llama.cpp · Q4_K_M · 16K context · 0.7.0-dev (build 11803, commit a37cc4610)
+4.8r_cthpfm82n1r · r_gscy1f7ey_k
Qwen3-32B43.47tok/s
chat-short · llama.cpp · Q4_K_M · 0.6.0-dev (build 1, commit df18bee)
38.45tok/s
chat-short · llama.cpp · Q4_K_M · 0.7.0-dev (build 1, commit ea0c4c2)
+5.0Builds differr_ayy9rjgha5r · r_km62sybxga6
Flint 40B-A2.5B (with CPU offload)39.82tok/s
chat-short · llama.cpp · UD-Q4_K_XL · 8K context · 0.7.0-dev (build 11803, commit a37cc4610)
16.84tok/s
chat-short · llama.cpp · UD-Q4_K_XL · 8K context · 0.7.0-dev (build 11803, commit a37cc4610)
+23.0r_wap61ewkpzm · r_klxxsjjp2m-

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.

ModelRTX 4090 decodeRTX 3090 decodeWhy it isn't matchedRuns
gemma3195.0tok/s
ollama · Q4_K_M · 4.3B
78.65tok/s
ollama · Q4_K_M · 11.8B
size 4.3B vs 11.8Br_dlanfbgym0h · r_3gnxkzhhmyj
qwen2.5-coder (7.6B)131.6tok/s
ollama · Q4_K_M · 7.6B
39.86tok/s
ollama · Q4_K_M · 7.6B
RTX 3090 request includes a cold model loadr_nrpc8-onxu2 · r_pb0jpnbujji

See also: RTX 4090 benchmarks · RTX 3090 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.

Gemma 4 12B IT QAT on RTX 30900 votes

We never sell or share your email. Privacy

llm-speed can measure this card · Submit your own