{
 "about": "Ollama inference speed for seven small models on one AMD Radeon RX 7900 XTX (24 GB, Windows 11, Ollama 0.30.10). Each model was unloaded first, then given synthetic prompts of about 1,550 and 4,550 tokens, 3 trials each, with num_ctx 9216, temperature 0 and 200 output tokens. Each trial changes the first line, so no prompt prefix is reused from cache. Cold load is the first call's load time. The speed medians leave out that first cold trial, because its prompt speed includes warm-up. Every model was fully resident in VRAM (size_vram equals size), and no prompt was truncated. In the summary, speeds are median tokens per second; short means a prompt of about 1,550 tokens and long about 4,550. Gen speed is output generation.",
 "gpu": {
  "model": "AMD Radeon RX 7900 XTX",
  "arch": "gfx1100",
  "total_mb": 24560,
  "os": "Windows 11 (build 26200)",
  "driver": "AMD Adrenalin 26.7.1 (32.0.31035.1003)",
  "ollama": "0.30.10"
 },
 "summary": [
  {
   "model": "gemma3:4b",
   "resident_mb": 2891,
   "cold_load_s": 7.74,
   "prompt_speed_short": 4411.4,
   "prompt_speed_long": 5039.9,
   "gen_speed_short": 132.6,
   "gen_speed_long": 128.6,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:e2b-it-qat",
   "resident_mb": 1762,
   "cold_load_s": 6.17,
   "prompt_speed_short": 6982.2,
   "prompt_speed_long": 7458.3,
   "gen_speed_short": 154.6,
   "gen_speed_long": 152.2,
   "measured_on": "2026-10-15"
  },
  {
   "model": "granite4.2:3b-q8_0",
   "resident_mb": 4313,
   "cold_load_s": 4.84,
   "prompt_speed_short": 5707.4,
   "prompt_speed_long": 5219.5,
   "gen_speed_short": 127.0,
   "gen_speed_long": 121.3,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:e4b-it-qat",
   "resident_mb": 3133,
   "cold_load_s": 7.69,
   "prompt_speed_short": 3941.8,
   "prompt_speed_long": 4258.9,
   "gen_speed_short": 116.5,
   "gen_speed_long": 113.5,
   "measured_on": "2026-10-15"
  },
  {
   "model": "qwen3.5:9b",
   "resident_mb": 5642,
   "cold_load_s": 8.82,
   "prompt_speed_short": 2588.9,
   "prompt_speed_long": 2704.7,
   "gen_speed_short": 84.9,
   "gen_speed_long": 84.2,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:12b-it-qat",
   "resident_mb": 7601,
   "cold_load_s": 9.46,
   "prompt_speed_short": 1526.1,
   "prompt_speed_long": 1661.9,
   "gen_speed_short": 68.4,
   "gen_speed_long": 66.4,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gpt-oss:20b",
   "resident_mb": 12261,
   "cold_load_s": 14.69,
   "prompt_speed_short": 3730.2,
   "prompt_speed_long": 4118.1,
   "gen_speed_short": 123.0,
   "gen_speed_long": 116.2,
   "measured_on": "2026-10-15"
  }
 ],
 "trials": [
  {
   "model": "gemma3:4b",
   "prompt_words": 1500,
   "trial": 0,
   "prompt_tokens": 1551,
   "load_s": 7.74,
   "prompt_s": 0.532,
   "prompt_tok_per_s": 2915.4,
   "gen_tokens": 200,
   "gen_s": 1.659,
   "gen_tok_per_s": 120.6,
   "total_s": 9.94,
   "size_vram_mb": 2891,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma3:4b",
   "prompt_words": 1500,
   "trial": 1,
   "prompt_tokens": 1551,
   "load_s": 0.35,
   "prompt_s": 0.364,
   "prompt_tok_per_s": 4261.0,
   "gen_tokens": 200,
   "gen_s": 1.511,
   "gen_tok_per_s": 132.4,
   "total_s": 2.45,
   "size_vram_mb": 2891,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma3:4b",
   "prompt_words": 1500,
   "trial": 2,
   "prompt_tokens": 1551,
   "load_s": 0.32,
   "prompt_s": 0.34,
   "prompt_tok_per_s": 4561.8,
   "gen_tokens": 200,
   "gen_s": 1.506,
   "gen_tok_per_s": 132.8,
   "total_s": 2.28,
   "size_vram_mb": 2891,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma3:4b",
   "prompt_words": 4500,
   "trial": 0,
   "prompt_tokens": 4551,
   "load_s": 0.32,
   "prompt_s": 0.893,
   "prompt_tok_per_s": 5096.3,
   "gen_tokens": 200,
   "gen_s": 1.547,
   "gen_tok_per_s": 129.3,
   "total_s": 2.89,
   "size_vram_mb": 2891,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma3:4b",
   "prompt_words": 4500,
   "trial": 1,
   "prompt_tokens": 4551,
   "load_s": 0.33,
   "prompt_s": 0.93,
   "prompt_tok_per_s": 4893.5,
   "gen_tokens": 200,
   "gen_s": 1.555,
   "gen_tok_per_s": 128.6,
   "total_s": 2.99,
   "size_vram_mb": 2891,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma3:4b",
   "prompt_words": 4500,
   "trial": 2,
   "prompt_tokens": 4551,
   "load_s": 0.32,
   "prompt_s": 0.903,
   "prompt_tok_per_s": 5039.9,
   "gen_tokens": 200,
   "gen_s": 1.571,
   "gen_tok_per_s": 127.3,
   "total_s": 2.97,
   "size_vram_mb": 2891,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:e2b-it-qat",
   "prompt_words": 1500,
   "trial": 0,
   "prompt_tokens": 1557,
   "load_s": 6.17,
   "prompt_s": 0.336,
   "prompt_tok_per_s": 4633.9,
   "gen_tokens": 200,
   "gen_s": 1.298,
   "gen_tok_per_s": 154.1,
   "total_s": 7.81,
   "size_vram_mb": 1762,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:e2b-it-qat",
   "prompt_words": 1500,
   "trial": 1,
   "prompt_tokens": 1557,
   "load_s": 0.32,
   "prompt_s": 0.224,
   "prompt_tok_per_s": 6950.9,
   "gen_tokens": 200,
   "gen_s": 1.29,
   "gen_tok_per_s": 155.0,
   "total_s": 1.86,
   "size_vram_mb": 1762,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:e2b-it-qat",
   "prompt_words": 1500,
   "trial": 2,
   "prompt_tokens": 1557,
   "load_s": 0.32,
   "prompt_s": 0.222,
   "prompt_tok_per_s": 7013.5,
   "gen_tokens": 200,
   "gen_s": 1.298,
   "gen_tok_per_s": 154.1,
   "total_s": 1.86,
   "size_vram_mb": 1762,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:e2b-it-qat",
   "prompt_words": 4500,
   "trial": 0,
   "prompt_tokens": 4557,
   "load_s": 0.32,
   "prompt_s": 0.609,
   "prompt_tok_per_s": 7482.8,
   "gen_tokens": 200,
   "gen_s": 1.314,
   "gen_tok_per_s": 152.2,
   "total_s": 2.29,
   "size_vram_mb": 1762,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:e2b-it-qat",
   "prompt_words": 4500,
   "trial": 1,
   "prompt_tokens": 4557,
   "load_s": 0.32,
   "prompt_s": 0.611,
   "prompt_tok_per_s": 7458.3,
   "gen_tokens": 200,
   "gen_s": 1.308,
   "gen_tok_per_s": 152.9,
   "total_s": 2.29,
   "size_vram_mb": 1762,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:e2b-it-qat",
   "prompt_words": 4500,
   "trial": 2,
   "prompt_tokens": 4557,
   "load_s": 0.31,
   "prompt_s": 0.612,
   "prompt_tok_per_s": 7446.1,
   "gen_tokens": 200,
   "gen_s": 1.316,
   "gen_tok_per_s": 152.0,
   "total_s": 2.3,
   "size_vram_mb": 1762,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "granite4.2:3b-q8_0",
   "prompt_words": 1500,
   "trial": 0,
   "prompt_tokens": 1541,
   "load_s": 4.84,
   "prompt_s": 0.294,
   "prompt_tok_per_s": 5241.5,
   "gen_tokens": 200,
   "gen_s": 1.564,
   "gen_tok_per_s": 127.9,
   "total_s": 6.71,
   "size_vram_mb": 4313,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "granite4.2:3b-q8_0",
   "prompt_words": 1500,
   "trial": 1,
   "prompt_tokens": 1541,
   "load_s": 0.09,
   "prompt_s": 0.27,
   "prompt_tok_per_s": 5707.4,
   "gen_tokens": 200,
   "gen_s": 1.567,
   "gen_tok_per_s": 127.6,
   "total_s": 2.0,
   "size_vram_mb": 4313,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "granite4.2:3b-q8_0",
   "prompt_words": 1500,
   "trial": 2,
   "prompt_tokens": 1541,
   "load_s": 0.08,
   "prompt_s": 0.27,
   "prompt_tok_per_s": 5707.4,
   "gen_tokens": 200,
   "gen_s": 1.582,
   "gen_tok_per_s": 126.4,
   "total_s": 2.0,
   "size_vram_mb": 4313,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "granite4.2:3b-q8_0",
   "prompt_words": 4500,
   "trial": 0,
   "prompt_tokens": 4541,
   "load_s": 0.08,
   "prompt_s": 0.868,
   "prompt_tok_per_s": 5231.6,
   "gen_tokens": 200,
   "gen_s": 1.65,
   "gen_tok_per_s": 121.2,
   "total_s": 2.68,
   "size_vram_mb": 4313,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "granite4.2:3b-q8_0",
   "prompt_words": 4500,
   "trial": 1,
   "prompt_tokens": 4541,
   "load_s": 0.09,
   "prompt_s": 0.87,
   "prompt_tok_per_s": 5219.5,
   "gen_tokens": 200,
   "gen_s": 1.649,
   "gen_tok_per_s": 121.3,
   "total_s": 2.78,
   "size_vram_mb": 4313,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "granite4.2:3b-q8_0",
   "prompt_words": 4500,
   "trial": 2,
   "prompt_tokens": 4541,
   "load_s": 0.08,
   "prompt_s": 0.878,
   "prompt_tok_per_s": 5172.0,
   "gen_tokens": 200,
   "gen_s": 1.649,
   "gen_tok_per_s": 121.3,
   "total_s": 2.79,
   "size_vram_mb": 4313,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:e4b-it-qat",
   "prompt_words": 1500,
   "trial": 0,
   "prompt_tokens": 1557,
   "load_s": 7.69,
   "prompt_s": 0.496,
   "prompt_tok_per_s": 3139.1,
   "gen_tokens": 200,
   "gen_s": 1.732,
   "gen_tok_per_s": 115.5,
   "total_s": 9.93,
   "size_vram_mb": 3133,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:e4b-it-qat",
   "prompt_words": 1500,
   "trial": 1,
   "prompt_tokens": 1557,
   "load_s": 0.31,
   "prompt_s": 0.395,
   "prompt_tok_per_s": 3941.8,
   "gen_tokens": 200,
   "gen_s": 1.718,
   "gen_tok_per_s": 116.4,
   "total_s": 2.48,
   "size_vram_mb": 3133,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:e4b-it-qat",
   "prompt_words": 1500,
   "trial": 2,
   "prompt_tokens": 1557,
   "load_s": 0.31,
   "prompt_s": 0.395,
   "prompt_tok_per_s": 3941.8,
   "gen_tokens": 200,
   "gen_s": 1.716,
   "gen_tok_per_s": 116.6,
   "total_s": 2.47,
   "size_vram_mb": 3133,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:e4b-it-qat",
   "prompt_words": 4500,
   "trial": 0,
   "prompt_tokens": 4557,
   "load_s": 0.31,
   "prompt_s": 1.065,
   "prompt_tok_per_s": 4278.9,
   "gen_tokens": 200,
   "gen_s": 1.778,
   "gen_tok_per_s": 112.5,
   "total_s": 3.23,
   "size_vram_mb": 3133,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:e4b-it-qat",
   "prompt_words": 4500,
   "trial": 1,
   "prompt_tokens": 4557,
   "load_s": 0.31,
   "prompt_s": 1.07,
   "prompt_tok_per_s": 4258.9,
   "gen_tokens": 200,
   "gen_s": 1.762,
   "gen_tok_per_s": 113.5,
   "total_s": 3.23,
   "size_vram_mb": 3133,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:e4b-it-qat",
   "prompt_words": 4500,
   "trial": 2,
   "prompt_tokens": 4557,
   "load_s": 0.32,
   "prompt_s": 1.071,
   "prompt_tok_per_s": 4254.9,
   "gen_tokens": 200,
   "gen_s": 1.762,
   "gen_tok_per_s": 113.5,
   "total_s": 3.25,
   "size_vram_mb": 3133,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "qwen3.5:9b",
   "prompt_words": 1500,
   "trial": 0,
   "prompt_tokens": 1552,
   "load_s": 8.82,
   "prompt_s": 0.68,
   "prompt_tok_per_s": 2282.4,
   "gen_tokens": 200,
   "gen_s": 2.383,
   "gen_tok_per_s": 83.9,
   "total_s": 11.89,
   "size_vram_mb": 5642,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "qwen3.5:9b",
   "prompt_words": 1500,
   "trial": 1,
   "prompt_tokens": 1552,
   "load_s": 0.26,
   "prompt_s": 0.597,
   "prompt_tok_per_s": 2599.7,
   "gen_tokens": 200,
   "gen_s": 2.359,
   "gen_tok_per_s": 84.8,
   "total_s": 3.3,
   "size_vram_mb": 5642,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "qwen3.5:9b",
   "prompt_words": 1500,
   "trial": 2,
   "prompt_tokens": 1552,
   "load_s": 0.23,
   "prompt_s": 0.602,
   "prompt_tok_per_s": 2578.1,
   "gen_tokens": 200,
   "gen_s": 2.35,
   "gen_tok_per_s": 85.1,
   "total_s": 3.25,
   "size_vram_mb": 5642,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "qwen3.5:9b",
   "prompt_words": 4500,
   "trial": 0,
   "prompt_tokens": 4552,
   "load_s": 0.23,
   "prompt_s": 1.673,
   "prompt_tok_per_s": 2720.9,
   "gen_tokens": 200,
   "gen_s": 2.375,
   "gen_tok_per_s": 84.2,
   "total_s": 4.37,
   "size_vram_mb": 5642,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "qwen3.5:9b",
   "prompt_words": 4500,
   "trial": 1,
   "prompt_tokens": 4552,
   "load_s": 0.24,
   "prompt_s": 1.683,
   "prompt_tok_per_s": 2704.7,
   "gen_tokens": 200,
   "gen_s": 2.378,
   "gen_tok_per_s": 84.1,
   "total_s": 4.41,
   "size_vram_mb": 5642,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "qwen3.5:9b",
   "prompt_words": 4500,
   "trial": 2,
   "prompt_tokens": 4552,
   "load_s": 0.24,
   "prompt_s": 1.683,
   "prompt_tok_per_s": 2704.7,
   "gen_tokens": 200,
   "gen_s": 2.374,
   "gen_tok_per_s": 84.2,
   "total_s": 4.41,
   "size_vram_mb": 5642,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:12b-it-qat",
   "prompt_words": 1500,
   "trial": 0,
   "prompt_tokens": 1557,
   "load_s": 9.46,
   "prompt_s": 0.972,
   "prompt_tok_per_s": 1601.9,
   "gen_tokens": 200,
   "gen_s": 2.851,
   "gen_tok_per_s": 70.2,
   "total_s": 13.29,
   "size_vram_mb": 7601,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:12b-it-qat",
   "prompt_words": 1500,
   "trial": 1,
   "prompt_tokens": 1557,
   "load_s": 0.33,
   "prompt_s": 1.037,
   "prompt_tok_per_s": 1501.4,
   "gen_tokens": 200,
   "gen_s": 2.851,
   "gen_tok_per_s": 70.2,
   "total_s": 4.5,
   "size_vram_mb": 7601,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:12b-it-qat",
   "prompt_words": 1500,
   "trial": 2,
   "prompt_tokens": 1557,
   "load_s": 0.32,
   "prompt_s": 1.004,
   "prompt_tok_per_s": 1550.8,
   "gen_tokens": 200,
   "gen_s": 3.003,
   "gen_tok_per_s": 66.6,
   "total_s": 4.62,
   "size_vram_mb": 7601,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:12b-it-qat",
   "prompt_words": 4500,
   "trial": 0,
   "prompt_tokens": 4557,
   "load_s": 0.45,
   "prompt_s": 2.839,
   "prompt_tok_per_s": 1605.1,
   "gen_tokens": 200,
   "gen_s": 2.964,
   "gen_tok_per_s": 67.5,
   "total_s": 6.68,
   "size_vram_mb": 7601,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:12b-it-qat",
   "prompt_words": 4500,
   "trial": 1,
   "prompt_tokens": 4557,
   "load_s": 0.34,
   "prompt_s": 2.742,
   "prompt_tok_per_s": 1661.9,
   "gen_tokens": 200,
   "gen_s": 3.119,
   "gen_tok_per_s": 64.1,
   "total_s": 6.57,
   "size_vram_mb": 7601,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gemma4:12b-it-qat",
   "prompt_words": 4500,
   "trial": 2,
   "prompt_tokens": 4557,
   "load_s": 0.33,
   "prompt_s": 2.74,
   "prompt_tok_per_s": 1663.1,
   "gen_tokens": 200,
   "gen_s": 3.01,
   "gen_tok_per_s": 66.4,
   "total_s": 6.47,
   "size_vram_mb": 7601,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gpt-oss:20b",
   "prompt_words": 1500,
   "trial": 0,
   "prompt_tokens": 1604,
   "load_s": 14.69,
   "prompt_s": 0.81,
   "prompt_tok_per_s": 1980.2,
   "gen_tokens": 200,
   "gen_s": 1.617,
   "gen_tok_per_s": 123.7,
   "total_s": 17.13,
   "size_vram_mb": 12261,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gpt-oss:20b",
   "prompt_words": 1500,
   "trial": 1,
   "prompt_tokens": 1604,
   "load_s": 0.28,
   "prompt_s": 0.429,
   "prompt_tok_per_s": 3738.9,
   "gen_tokens": 200,
   "gen_s": 1.623,
   "gen_tok_per_s": 123.2,
   "total_s": 2.37,
   "size_vram_mb": 12261,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gpt-oss:20b",
   "prompt_words": 1500,
   "trial": 2,
   "prompt_tokens": 1604,
   "load_s": 0.27,
   "prompt_s": 0.431,
   "prompt_tok_per_s": 3721.6,
   "gen_tokens": 200,
   "gen_s": 1.63,
   "gen_tok_per_s": 122.7,
   "total_s": 2.38,
   "size_vram_mb": 12261,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gpt-oss:20b",
   "prompt_words": 4500,
   "trial": 0,
   "prompt_tokens": 4604,
   "load_s": 0.28,
   "prompt_s": 1.121,
   "prompt_tok_per_s": 4107.0,
   "gen_tokens": 200,
   "gen_s": 1.721,
   "gen_tok_per_s": 116.2,
   "total_s": 3.19,
   "size_vram_mb": 12261,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gpt-oss:20b",
   "prompt_words": 4500,
   "trial": 1,
   "prompt_tokens": 4604,
   "load_s": 0.28,
   "prompt_s": 1.117,
   "prompt_tok_per_s": 4121.8,
   "gen_tokens": 200,
   "gen_s": 1.732,
   "gen_tok_per_s": 115.5,
   "total_s": 3.22,
   "size_vram_mb": 12261,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  },
  {
   "model": "gpt-oss:20b",
   "prompt_words": 4500,
   "trial": 2,
   "prompt_tokens": 4604,
   "load_s": 0.28,
   "prompt_s": 1.118,
   "prompt_tok_per_s": 4118.1,
   "gen_tokens": 200,
   "gen_s": 1.715,
   "gen_tok_per_s": 116.6,
   "total_s": 3.21,
   "size_vram_mb": 12261,
   "context_length": 9216,
   "measured_on": "2026-10-15"
  }
 ],
 "source": "probe_kit/bench_ollama.py (this site's probe kit)",
 "measured_on": "2026-10-15"
}
