Saphan
Guides & FAQ

HARDWARE / PUBLISHED SPEEDS

The same task.
On every machine.

How fast does a machine write with an AI installed on your premises? Here are the figures the community has published for the same small model, from Apple chips to graphics cards. Each figure keeps the link to its source.

Request your machine ↗

Compiled by Saphan · 7 October 2026

the machines requestedthe reference cardsthe number: the writing speed, in tokens per second

Metal · Mac

Metal is the engine for Macs. Here, only Apple chips: they are compared with each other.

  1. Apple M5 Ultra (80 GPU)Apple chip256 GB
    179tokens/sreading 4.945 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 179.10 tokens/s · commit c1d0e7a · macOS (Metal)

  2. Apple M5 Max (40 GPU)Apple chip128 GB
    112tokens/sreading 2.105 tokens/s
    4 published measurements, the median above
  3. Apple M2 Ultra (76 GPU)Apple chip
    94.3tokens/sreading 1.238 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 94.27 tokens/s · commit 8e672ef · macOS (Metal)

  4. Apple M3 Ultra (80 GPU)Apple chip
    92.1tokens/sreading 1.471 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 92.14 tokens/s · commit 8e672ef · macOS (Metal)

  5. Apple M2 Ultra (60 GPU)Apple chip128 GB
    88.6tokens/sreading 1.014 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 88.64 tokens/s · commit 8e672ef · macOS (Metal)

  6. Apple M3 Ultra (60 GPU)Apple chip
    88.4tokens/sreading 1.073 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 88.40 tokens/s · commit 8e672ef · macOS (Metal)

  7. Apple M1 Ultra (64 GPU)Apple chip128 GB
    83.7tokens/sreading 1.030 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 83.73 tokens/s · commit 8e672ef · macOS (Metal)

  8. Apple M4 Max (40 GPU)Apple chip
    83.1tokens/sreading 886 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 83.06 tokens/s · commit 8e672ef · macOS (Metal)

  9. Apple M1 Ultra (48 GPU)Apple chip
    74.9tokens/sreading 772 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 74.93 tokens/s · commit 8e672ef · macOS (Metal)

  10. Apple M4 Max (32 GPU)Apple chip
    70.0tokens/sreading 714 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 69.95 tokens/s · commit 8e672ef · macOS (Metal)

  11. Apple M5 Pro (20 GPU)Apple chip64 GB
    66.3tokens/sreading 1.621 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 66.33 tokens/s · commit c1d0e7a · macOS (Metal)

  12. Apple M3 Max (40 GPU)Apple chip
    66.3tokens/sreading 760 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 66.31 tokens/s · commit 8e672ef · macOS (Metal)

  13. Apple M2 Max (38 GPU)Apple chip32 GB
    63.9tokens/sreading 669 tokens/s
    4 published measurements, the median above
  14. Apple M5 Pro (16 GPU)Apple chip24 GB
    63.8tokens/sreading 1.238 tokens/s
    4 published measurements, the median above
  15. Apple M1 Max (32 GPU)Apple chip64 GB
    61.2tokens/sreading 530 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 61.19 tokens/s · commit 8e672ef · macOS (Metal)

  16. Apple M2 Max (30 GPU)Apple chip
    61.0tokens/sreading 538 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 60.99 tokens/s · commit 8e672ef · macOS (Metal)

  17. Apple M3 Max (30 GPU)Apple chip
    56.6tokens/sreading 568 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 56.58 tokens/s · commit 8e672ef · macOS (Metal)

  18. Apple M1 Max (24 GPU)Apple chip
    54.6tokens/sreading 400 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 54.61 tokens/s · commit 8e672ef · macOS (Metal)

  19. Apple M4 Pro (20 GPU)Apple chip
    50.7tokens/sreading 440 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 50.74 tokens/s · commit 8e672ef · macOS (Metal)

  20. Apple M4 Pro (16 GPU)Apple chip
    49.6tokens/sreading 364 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 49.64 tokens/s · commit 8e672ef · macOS (Metal)

  21. Apple M2 Pro (19 GPU)Apple chip
    38.9tokens/sreading 341 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 38.86 tokens/s · commit 8e672ef · macOS (Metal)

  22. Apple M2 Pro (16 GPU)Apple chip
    37.9tokens/sreading 294 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 37.87 tokens/s · commit 8e672ef · macOS (Metal)

  23. Apple M1 Pro (16 GPU)Apple chip
    36.4tokens/sreading 266 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 36.41 tokens/s · commit 8e672ef · macOS (Metal)

  24. Apple M6 (8 GPU)Apple chip32 GB
    35.7tokens/sreading 989 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 35.74 tokens/s · commit c1d0e7a · macOS (Metal)

  25. Apple M1 Pro (14 GPU)Apple chip
    35.5tokens/sreading 233 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 35.52 tokens/s · commit 8e672ef · macOS (Metal)

  26. Apple M5 (10 GPU)Apple chip16 GB
    31.9tokens/sreading 723 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 31.88 tokens/s · commit c1d0e7a · macOS (Metal)

  27. Apple M3 Pro (18 GPU)Apple chip
    30.7tokens/sreading 342 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 30.74 tokens/s · commit 8e672ef · macOS (Metal)

  28. Apple M3 Pro (14 GPU)Apple chip
    30.6tokens/sreading 269 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 30.65 tokens/s · commit 8e672ef · macOS (Metal)

  29. Apple M4 (10 GPU)Apple chip32 GB
    24.1tokens/sreading 221 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 24.11 tokens/s · commit 8e672ef · macOS (Metal)

  30. Apple M2 (10 GPU)Apple chip24 GB
    21.9tokens/sreading 180 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 21.91 tokens/s · commit 8e672ef · macOS (Metal)

  31. Apple M2 (8 GPU)Apple chip
    21.7tokens/sreading 146 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 21.7 tokens/s · commit 8e672ef · macOS (Metal)

  32. Apple M3 (10 GPU)Apple chip
    21.3tokens/sreading 187 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 21.34 tokens/s · commit 8e672ef · macOS (Metal)

  33. Apple M1 (7 GPU)Apple chip
    14.2tokens/sreading 108 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 14.19 tokens/s · commit 8e672ef · macOS (Metal)

  34. Apple M1 (8 GPU)Apple chip
    14.2tokens/sreading 118 tokens/s

    Source: GitHub · llama.cpp · discussion 4167 14.15 tokens/s · commit 8e672ef · macOS (Metal)

CUDA · NVIDIA

CUDA is the engine for NVIDIA cards and the DGX Spark.

  1. RTX 5090Reference card32 GB
    247tokens/sreading 14.413 tokens/s
    6 published measurements, the median above
  2. RTX 4090Reference card24 GB
    188tokens/sreading 13.382 tokens/s
    2 published measurements, the median above
  3. RTX 5080Reference card16 GB
    183tokens/sreading 8.893 tokens/s
    4 published measurements, the median above
  4. RTX 5070 TiReference card16 GB
    180tokens/sreading 7.686 tokens/s
    2 published measurements, the median above
  5. RTX 3090Reference card24 GB
    157tokens/sreading 5.290 tokens/s
    8 published measurements, the median above
  6. RTX 4080 SuperReference card16 GB
    148tokens/sreading 8.782 tokens/s
    2 published measurements, the median above
  7. RTX 3080Reference card10 GB
    140tokens/sreading 5.292 tokens/s
    2 published measurements, the median above
  8. RTX 4070 Ti SuperReference card16 GB
    133tokens/sreading 7.268 tokens/s
    2 published measurements, the median above
  9. RTX 5060 TiReference card16 GB
    92.2tokens/sreading 3.966 tokens/s
    2 published measurements, the median above
  10. RTX 3060Reference card12 GB
    75.6tokens/sreading 2.273 tokens/s
    4 published measurements, the median above
  11. DGX Spark (GB10)DGX Spark128 GB
    57.0tokens/sreading 3.362 tokens/s
    2 published measurements, the median above

Vulkan · all families

Vulkan runs everywhere: it is the only engine where Apple chips, the DGX Spark and graphics cards appear in the same table.

  1. RTX 5090Reference card32 GB
    269tokens/sreading 11.089 tokens/s
    2 published measurements, the median above
  2. RTX 4090Reference card24 GB
    189tokens/sreading 10.141 tokens/s
    2 published measurements, the median above
  3. RTX 5080Reference card16 GB
    189tokens/sreading 7.750 tokens/s
    2 published measurements, the median above
  4. RX 7900 XTXReference card24 GB
    172tokens/sreading 3.590 tokens/s
    4 published measurements, the median above
  5. RTX 3090Reference card24 GB
    168tokens/sreading 4.933 tokens/s
    2 published measurements, the median above
  6. RTX 5070 TiReference card16 GB
    156tokens/sreading 6.891 tokens/s
    2 published measurements, the median above
  7. Radeon AI Pro R9700Reference card32 GB
    149tokens/sreading 5.759 tokens/s
    2 published measurements, the median above
  8. RTX 4080 SuperReference card16 GB
    149tokens/sreading 7.554 tokens/s
    2 published measurements, the median above
  9. RTX 3080Reference card10 GB
    142tokens/sreading 4.600 tokens/s
    2 published measurements, the median above
  10. RTX 4070 Ti SuperReference card16 GB
    133tokens/sreading 6.450 tokens/s
    2 published measurements, the median above
  11. RX 9070 XTReference card16 GB
    132tokens/sreading 4.919 tokens/s
    5 published measurements, median above
    • 137.11 ± 0.02 tokens/s writing · 5036.04 ± 88.16 readingllama.cpp (Vulkan) · commit e9fd8dc · pp512 / tg128; ngl=100; FA=0GitHub · llama.cpp · discussion 10879
    • 132.29 ± 0.16 tokens/s writing · 4919.17 ± 919.04 readingllama.cpp (Vulkan) · commit 505b1ed, build 10034 · Fedora 44; kernel 7.1.3-201.fc44.x86_64; amdgpu in-tree; Vulkan 1.4.354; ROCm 7.1.1 · pp512 / tg128; ngl=99; FA=1 · 2026-07-15GitHub · llama.cpp · discussion 15021
    • 132.28 ± 0.12 tokens/s writing · 4884.70 ± 952.52 readingllama.cpp (Vulkan) · commit 505b1ed, build 10034 · Fedora 44; kernel 7.1.3-201.fc44.x86_64; amdgpu in-tree; Vulkan 1.4.354; ROCm 7.1.1 · pp512 / tg128; ngl=99; FA=1 · 2026-07-15GitHub · llama.cpp · discussion 15021
    • 132.03 ± 0.48 tokens/s writing · 4343.73 ± 1140.65 readingllama.cpp (Vulkan) · commit 505b1ed, build 10034 · Fedora 44; kernel 7.1.3-201.fc44.x86_64; amdgpu in-tree; Vulkan 1.4.354; ROCm 7.1.1 · pp512 / tg128; ngl=99; FA=1 · 2026-07-15GitHub · llama.cpp · discussion 15021
    • 131.54 ± 0.05 tokens/s writing · 5048.07 ± 2.12 readingllama.cpp (Vulkan) · commit e9fd8dc · pp512 / tg128; ngl=100; FA=1GitHub · llama.cpp · discussion 10879
  12. RX 7900 XTReference card20 GB
    122tokens/sreading 2.821 tokens/s
    2 published measurements, the median above
  13. Apple M3 UltraApple chip512 GB
    116tokens/sreading 1.117 tokens/s

    Source: GitHub · llama.cpp · discussion 10879 115.54 ± 0.78 tokens/s · commit 2d451c8 · MoltenVK

  14. RX 7800 XTReference card16 GB
    108tokens/sreading 2.105 tokens/s
    4 published measurements, the median above
  15. RTX 5060 TiReference card16 GB
    95.3tokens/sreading 3.687 tokens/s
    2 published measurements, the median above
  16. RTX 3060Reference card12 GB
    78.3tokens/sreading 1.914 tokens/s
    2 published measurements, the median above
  17. Apple M4 MaxApple chip
    73.4tokens/sreading 641 tokens/s
    2 published measurements, the median above
  18. Arc B580Reference card12 GB
    71.1tokens/sreading 520 tokens/s
    2 published measurements, the median above
  19. RX 9060 XTReference card16 GB
    70.8tokens/sreading 2.493 tokens/s
    4 published measurements, the median above
  20. DGX Spark (GB10)DGX Spark128 GB
    59.5tokens/sreading 3.056 tokens/s
    2 published measurements, the median above
  21. RX 7600 XTReference card16 GB
    53.4tokens/sreading 727 tokens/s
    4 published measurements, the median above
  22. Apple M2 UltraApple chip
    35.2tokens/sreading 202 tokens/s
    2 published measurements, the median above
  23. Arc B570Reference card10 GB
    31.4tokens/sreading 349 tokens/s
    6 published measurements, the median above
  24. Apple M3Apple chip
    26.4tokens/sreading 264 tokens/s

    Source: GitHub · llama.cpp · discussion 10879 26.39 ± 0.14 tokens/s · commit b9ab0a4 · MoltenVK

  25. Apple M2 ProApple chip
    21.0tokens/sreading 61 tokens/s
    2 published measurements, the median above
  26. Apple M2Apple chip
    12.9tokens/sreading 49 tokens/s
    2 published measurements, the median above
  27. Apple M1Apple chip
    12.7tokens/sreading 37 tokens/s
    2 published measurements, the median above

ROCm · AMD

ROCm is AMD’s engine: the Ryzen AI chips and the Radeon cards.

  1. RX 7900 XTXReference card24 GB
    131tokens/sreading 3.410 tokens/s
    14 published measurements, median above
  2. RX 9070 XTReference card16 GB
    122tokens/sreading 4.300 tokens/s
    5 published measurements, median above
    • 122.25 ± 0.29 tokens/s writing · 4300.05 ± 1016.50 readingllama.cpp (ROCm) · commit 505b1ed, build 10034 · Fedora 44; kernel 7.1.3-201.fc44.x86_64; amdgpu in-tree; Vulkan 1.4.354; ROCm 7.1.1 · pp512 / tg128; ngl=99; FA=1 · 2026-07-15GitHub · llama.cpp · discussion 15021
    • 122.17 ± 0.25 tokens/s writing · 4294.94 ± 973.80 readingllama.cpp (ROCm) · commit 505b1ed, build 10034 · Fedora 44; kernel 7.1.3-201.fc44.x86_64; amdgpu in-tree; Vulkan 1.4.354; ROCm 7.1.1 · pp512 / tg128; ngl=99; FA=1 · 2026-07-15GitHub · llama.cpp · discussion 15021
    • 121.83 ± 0.22 tokens/s writing · 4273.35 ± 983.25 readingllama.cpp (ROCm) · commit 505b1ed, build 10034 · Fedora 44; kernel 7.1.3-201.fc44.x86_64; amdgpu in-tree; Vulkan 1.4.354; ROCm 7.1.1 · pp512 / tg128; ngl=99; FA=1 · 2026-07-15GitHub · llama.cpp · discussion 15021
    • 101.27 ± 0.27 tokens/s writing · 5055.19 ± 109.58 readingllama.cpp (ROCm) · commit 583cb83 · pp512 / tg128; ngl=99; FA=0GitHub · llama.cpp · discussion 15021
    • 97.28 ± 0.13 tokens/s writing · 4903.51 ± 96.36 readingllama.cpp (ROCm) · commit 583cb83 · pp512 / tg128; ngl=99; FA=1GitHub · llama.cpp · discussion 15021
  3. RX 7900 XTReference card20 GB
    114tokens/sreading 3.131 tokens/s
    4 published measurements, the median above
  4. RX 7800 XTReference card16 GB
    98.2tokens/sreading 2.224 tokens/s
    4 published measurements, the median above
  5. Radeon AI Pro R9700Reference card32 GB
    93.8tokens/sreading 4.444 tokens/s

    Source: GitHub · llama.cpp · discussion 15021 93.84 ± 0.26 tokens/s · commit bd4ef13

  6. RX 9060 XTReference card16 GB
    67.4tokens/sreading 2.060 tokens/s
    4 published measurements, the median above
  7. Ryzen AI Max+ 395 (Radeon 8060S)Ryzen AI128 GB
    49.9tokens/sreading 957 tokens/s
    2 published measurements, the median above
  8. Radeon 8060S (Ryzen AI Max)Ryzen AI
    48.5tokens/sreading 359 tokens/s
    2 published measurements, the median above
  9. RX 7600 XTReference card16 GB
    48.1tokens/sreading 1.149 tokens/s
    2 published measurements, the median above
  10. Radeon 880M (Ryzen AI 300)Ryzen AI
    14.6tokens/sreading 188 tokens/s
    2 published measurements, the median above

SYCL · Intel

SYCL is Intel’s engine for its Arc cards: they are compared with each other.

  1. Arc B580Reference card12 GB
    73.8tokens/sreading 2.064 tokens/s

    Source: GitHub · llama.cpp · discussion 23313 73.76 ± 0.13 tokens/s · commit c6e408837, build 9368 · Ubuntu 25.10

  2. Arc B570Reference card10 GB
    72.5tokens/sreading 686 tokens/s
    5 published measurements, median above
    • 76.76 ± 0.06 tokens/s writing · 412.46 ± 1.13 readingllama.cpp (SYCL) · commit 5aba5364d, build 9456 · Ubuntu 24.04.4; Linux 6.17.0-29-generic · pp512 / tg128; FA=1 · 2026-06-01GitHub · llama.cpp · discussion 23313
    • 76.72 ± 0.07 tokens/s writing · 685.89 ± 0.31 readingllama.cpp (SYCL) · commit 5aba5364d, build 9456 · Ubuntu 24.04.4; Linux 6.17.0-29-generic · pp512 / tg128; FA=1 · 2026-06-01GitHub · llama.cpp · discussion 23313
    • 72.52 ± 0.12 tokens/s writing · 1355.95 ± 7.83 readingllama.cpp (SYCL) · commit 5aba5364d, build 9456 · Ubuntu 24.04.4; Linux 6.17.0-29-generic · pp512 / tg128; FA=0 · 2026-06-01GitHub · llama.cpp · discussion 23313
    • 72.48 ± 0.18 tokens/s writing · 388.77 ± 0.54 readingllama.cpp (SYCL) · commit 5aba5364d, build 9456 · Ubuntu 24.04.4; Linux 6.17.0-29-generic · pp512 / tg128; FA=0 · 2026-06-01GitHub · llama.cpp · discussion 23313
    • 36.40 ± 0.04 tokens/s writing · 1484.42 ± 2.99 readingllama.cpp (SYCL) · commit 8e186ef, build 5449 · pp512 / tg128 · 2025-05-23GitHub · llama.cpp · discussion 10879

How to read these figures

  • These figures are not ours: other people published them, and each one comes with its link.
  • Speed depends on the engine (Metal, CUDA, Vulkan, ROCm, SYCL) and its version: we compare using the same engine, never from one engine to another.
  • Apple chips are named by the chip itself (with its number of GPU cores when the source gives it), not by the Mac model.
  • Generation (tg128) tells how fast the machine writes the answer; reading (pp512) tells how fast it reads the question.

What a figure does not tell you

A published speed says nothing about the quality of the answers, the memory your documents need, or the noise of the machine. To choose, we try your real task on the intended machine, with several people and a long document.

ONE WORKSPACE, YOUR CHOICE

The whole Saphan ecosystem

Your Phan works with the model you choose: on your machine, or with the provider of your choice.

Your Phan connects to Link, then to your local model, your API keys or OpenRouter.Your Phanyour workspace,made for youLinkit takes the routethat you chooseYour local modelon your machine;your data stays with youYour API keysOpenAI, Anthropic, Google, Mistral,xAI, Moonshot, Alibaba, DeepSeekpaid to the provider, per useOpenRoutermany modelswith a single keyYour Phan connects to Link, then to your local model, your API keys or OpenRouter.Your Phanyour workspace,made for youLinkit takes the routethat you chooseYour local modelon your machine;your data stays with youYour API keysOpenAI, Anthropic, Google, Mistral,xAI, Moonshot, Alibaba, DeepSeekpaid to the provider, per useOpenRoutermany modelswith a single key
  • Your Phan: your workspace, made for you.
  • Link takes the route you choose.
  • Your local model: on your machine; your data stays with you.
  • Your API keys: OpenAI, Anthropic, Google, Mistral, xAI, Moonshot, Alibaba, DeepSeek; paid to the provider, per use.
  • OpenRouter: many models with a single key.

Do you already have a subscription to ChatGPT, Claude, Grok or Kimi? You keep it, in the tools each provider allows.

Sources: provider documentation, read on 5 October 2026.

START FROM WHAT YOU HAVE

Your machine: keep it, or get a new one

Your current machine is often enough: we keep it, maintain it and tune it for your model.

For a new machine, you buy the parts yourself, at the price of the reseller you choose; their warranty, usually two years, stays in your name. We charge for the assembly and the tuning.

On an older machine, a repair quickly costs more than the new part: in Switzerland, an hour of workshop time often costs between 120 and 180 francs.

Assembly takes place with us or with a partner in Switzerland.

LET’S TALK ABOUT YOUR NEEDS

Request your machine

Tell us what you want to do: we will suggest a machine, or the tuning of yours. We reply by whichever means you choose.

Fields marked with an asterisk (*) are required. Do not send passwords, access keys, customer data or confidential documents.

Your work, your machine

for example: answering emails, writing quotes, summarizing documents, writing code

for example Qwen, Llama or Mistral; “I don’t know yet” is perfectly fine

for example Outlook, Excel, Bexio, your business software

brand, processor, graphics card, memory: whatever you know about it

Getting back to you

Choose how we reply to you, then leave the matching contact detail. These details are used only to answer this request and to prepare the next steps with you.

How should we reply? *

By email, leave your address; by phone or WhatsApp, your number. We are the ones who reply to you.

Required for a reply by email.

Required for a reply by phone or WhatsApp.

Submitting this form is neither an order nor a financial commitment.