$  cat benchmarks.md

The numbers, and how they were measured

Every number on this site comes from a test on real hardware, written down the day it ran. They are from one machine and from development versions, so treat them as a direction, not a promise for your card.

GPU
NVIDIA RTX 5090, 32 GB, PCIe 5.0 x16
Memory
64 GB RAM
Storage
NVMe SSD (PCIe 4.0)
Versions
elsieOS 0.1.10-0.1.16, November 2026
Compared with
Ollama 0.34 on the same machine

The two chat models: Mistral Small 3.2 24B (Q4_K_M, 13.3 GiB of weights, 16k context, kept loaded) and Qwen3.8 27B (q5_K, 18.2 GiB, 64k context, with a vision part). Together they do not fit on the card, so every switch below is a real one.

Requests were sent from another computer over the network, at temperature 0, and timed from sending to the last word of the answer.

01  model switches

Switching between two chat models

One-line requests that alternate between the two models. Each time includes the switch and a short answer (about 0.1-0.2 s of it). Medians of 4-5 switches.

RequestOllama, from RAMOllama, from SSDelsieOS 0.1.11
(stop + load)
elsieOS 0.1.14
(park + wake)
Qwen → Mistral1.6-3 s5-11 s1.4 s0.87 s
Mistral → Qwen1.6-3 s5-11 s1.9 s1.01 s
Qwen → Mistral, ~3200-token system prompt2.3-3.7 s5.7-11.7 s-0.89 s
Mistral → Qwen, same prompt2.3-3.7 s5.7-11.7 s-1.03 s

0.1.11 numbers are with the model files already in the page cache; read from the SSD they were 7.5 s and 8 s. With a long system prompt Ollama also reads the whole prompt again after a switch (~0.65 s); elsieOS keeps the prompt cache.

Where the time goes

StepMistral 24BQwen 27B
Park (weights to pinned RAM)0.26-0.29 s0.36-0.38 s
Wake (weights back, new context)0.31-0.32 s0.51-0.53 s
First park after a start (setting up the pinned RAM once)1.76 s2.38 s
First load from the model file after a start7.5 s8.0 s

The copies run at ~50 GB/s, the limit of the bus. Qwen's wake also reloads its vision part.

02  chat ↔ ComfyUI

Sharing the card with ComfyUI

ComfyUI 0.19.1 with two everyday workflows, next to Mistral Small 3.2 kept loaded (~16.8 GiB on the card with its context). Neither workflow fits beside it, so every hand-over is real.

Image
FLUX.2 [klein] 4B, 1024x1024, 4 steps, peak ~17.1 GiB
Video
Wan 2.2 image-to-video A14B fp8, 480x480, 49 frames (3 s at 16 fps), peak ~31.1 GiB
What happenedelsieOS 0.1.16
Image job while the chat model is idlechat model parked, job started after 0.28 s; ran 3.7 s
Chat right after (ComfyUI idle but holding its models)answered in 0.64 s: ComfyUI dropped its models (0.3 s), the chat model woke (0.31 s)
The same image job againstarted after 0.27 s, ran 2.4 s
Chat sent during 3 queued image jobswaited, answered 0.86 s after the last job
Chat sent 20 s into a 66 s video jobwaited, answered 0.63 s after the video ended
The kept-loaded model coming back by itselfback 4.8 s after the job ended

No out-of-memory errors; every job ran fully on the card (ComfyUI's log shows no offloading).

Before, on the same machine: Ollama plus a do-it-yourself helper that checked ComfyUI every 10 seconds. A job could start while the chat model still filled half the card, the chat model came back about 32 seconds or more after a job, and a chat request in between made Ollama load the model partly on the processor.
03  updates and rollback

Breaking an update on purpose

On the real machine, with Secure Boot on: a normal update, then a version built to fail its health check, then a frozen system.

TestResult
Update 0.1.0 → 0.1.1written to the spare slot; the trial start passed and the version was kept. Start-up time 29 s.
Update to a deliberately broken 0.1.2three trial starts about 36 s apart, each failing its health check; the fourth start went back to 0.1.1 by itself, about 2.5 minutes after the first, with nobody at the machine
System frozen on purposethe hardware watchdog restarted the machine about 30 s later; it answered again 56 s after the freeze

The same tests passed first in a virtual machine with Secure Boot.

04  drop-in test

15.5 hours as an Ollama replacement

elsieOS 0.1.10 took over a working Ollama machine with the same network address and keys, so none of the apps calling it was changed: a chat app, a coding assistant and a laptop.

84

Chats

from real apps, over 15.5 hours

83

Answered

the one failure was a GPU-sharing bug, fixed in 0.1.11

0.9s

Median, chat app

kept-loaded model, 23 chats

59s

Back to the old system

every service running again after the switch back

The network cable was also pulled three times on purpose (29-49 s): nothing on elsieOS failed, and requests sent meanwhile arrived once the link was back.

method

Caveats

  • One machine, one card. Slower PCIe links, less RAM or a smaller card will change every number here.
  • Development versions. Numbers are re-measured as elsieOS changes; this page shows the latest.
  • Ollama was measured as configured on that machine (flash attention, q8_0 cache, 2 parallel requests).
  • Answer speed itself is the card's: about 100 tokens/s for the 24B model on both systems. elsieOS makes switching fast, not answers.