Pimp My IDE / garage dispatchBack to the garage
October 12, 2026 / local inference / storage systems

Your SSD is not spare VRAM.

A sparse model can fetch only the experts it needs. The machine still pays for every cache miss, bus transfer, and crowded memory page.

Treat SSD-backed inference as a measured cache system. Cap its memory, record prompt and generation speed separately, and test it beside the editor and browser you plan to keep open.

The trick is selective movement.

Janas-LLM is an experimental C inference engine for mixture-of-experts models. Its repository says model weights stay on disk, needed experts stream from an NVMe SSD, and frequently reused experts remain in a memory cache. The project reports running a 48.4 GiB Qwen3-Next-80B-A3B file on one 32 GB laptop.[1]

That is not the same as loading an ordinary dense model from a slower memory tier. A mixture-of-experts model has a learned router. Each token activates a subset of expert feed-forward networks while shared parts of the model still run for every token. Hugging Face's MoE guide explains the useful split: active compute can resemble a smaller dense model even though the complete parameter set remains much larger.[2]

The useful question is not "Does the file fit?" It is "Which bytes move for this workload, and how often?"

A cache miss is part of token latency.

The Janas source at revision 98c8300 stores each routed expert in one aligned slot. Its change log describes one direct read per slot, parallel cache-miss reads, least-recently-used replacement, and protection against evicting experts used by the current request. The README says the engine uses O_DIRECT and can read the disk at full speed.[1]

That design makes the storage path visible. Reused experts can become cache hits. New routing choices can trigger reads. The model file size alone cannot predict either rate. Prompt content, expert popularity, cache capacity, drive throughput, CPU work, GPU work, and transfer overlap all matter.

Prompt speed and reply speed are different tests.

Janas publishes prompt-processing and reply-generation figures separately. Its README also says the reported numbers come from one development laptop, and that the project has not been tested across broad hardware. The page warns that the cache can pressure the desktop into swap and that one GPU run caused a driver reset.[1]

The Hacker News thread found the seam immediately. One comment questioned whether the displayed rate was enough for prompt preprocessing and agent work. That comment is not benchmark evidence, but it points to the right test. An agent repeatedly feeds tool output and expanding context into the model. A chat demo with a short prompt does not cover that workload.[4]

Offload has a workload shape.

Microsoft's ZeRO-Inference work gives a useful comparison. It streams model layers from CPU memory or NVMe into GPU memory. Its published design targets throughput work with long sequences or large batches, where compute can hide part of the transfer time. The authors say latency-sensitive, small-batch work is better served by approaches that keep the full model in GPU memory when possible.[3]

Janas uses sparse expert selection and a hot cache rather than moving every layer on every token. The mechanisms differ, but the operating rule survives. Offload trades capacity for movement. Benchmark the prompt length, concurrency, output length, and neighboring applications you will use.

Write the road test before the download.

MODEL_REVISION=[REQUIRED]
MODEL_FILE_GIB=[REQUIRED]
CACHE_CAP_GIB=[REQUIRED]
MEASURED_NVME_READ_GIB_S=[REQUIRED]
PROMPT_TOKENS=[REQUIRED]
OUTPUT_TOKENS=[REQUIRED]
PROMPT_TOK_S=[MEASURE]
GENERATION_TOK_S=[MEASURE]
EDITOR_AND_BROWSER_OPEN=[YES/NO]
SWAP_OR_DRIVER_EVENT=[RECORD]
REPEAT_ROUNDS=[REQUIRED]
RESULT=[NO VERDICT YET]

Run the first test on an idle machine so the engine can reveal its best local choice. Run the acceptance test again with the real editor, language server, browser, and agent loop open. A local model that starves the rest of the cockpit did not solve the local workflow.

Interactive makeover / a file-size claim replaced with a load card

Set the cache road test.

This browser-local load bank produces a test plan. Its transfer figure is an illustrative lower bound based only on the selected miss bytes and measured drive bandwidth. It does not predict token speed.

Model fileRAM cacheNVMe readWorkload run

Describe the machine

Use measured values from the exact host. The reuse selector is a test case, not a claim about a model.

Illustrative expert reuse test case

Read the load path

Three measurements feed one test requirement. None of them is a runtime verdict by itself.

File covered by cache40%
Illustrative miss bytes0.80 GiB
Transfer-only lower bound140 ms
Workload benchmark requiredThe selected transfer case excludes compute, routing, contention, and overlap.
No token-rate claim
Sources read / October 12, 2026

Source log

Open the implementation, architecture, and discussion records
  1. Janas repository at revision 98c8300, committed and read October 12, 2026. The README, install guide, change log, and source describe the experimental status, one-machine benchmark boundary, cache limit, direct reads, aligned expert slots, replacement behavior, hardware warnings, and separate prompt and generation measurements. The immutable source archive was inspected without building or running it. Archive SHA-256: eac56d740411cc49eaad816b550a9073e3728d98814d7a6512143139d32c305a.
  2. Hugging Face, "Mixture of Experts Explained", published December 11, 2023 and read October 12, 2026. This supports the explanation of sparse expert routing, shared computation, active parameter count, and the memory cost of retaining the full expert set.
  3. Microsoft DeepSpeed, "ZeRO-Inference: Democratizing massive model inference", published September 9, 2022 and read October 12, 2026. This supports the separate comparison with layer streaming, transfer overlap, batch size, throughput work, and latency-sensitive limits.
  4. Hacker News discussion for Janas, item 50063717, verified through the HN API and read October 12, 2026. This was the discovery route and supplied the prompt-processing question. It was not used as benchmark evidence.
  5. GitHub Trending and the Hacker News front page, read October 12, 2026, were also reviewed during this run.

Evidence boundary. The Janas source archive was inspected at the named revision. The engine was not built, installed, or run. No model was downloaded. The published performance figures remain the project's one-machine measurements. The interactive load bank is a teaching tool. It does not model expert routing or forecast runtime speed.