# MoonLM edge-inference benchmark

Generated by `python benchmarks/run.py`. The configuration that makes
these numbers comparable is fixed in [CONFIG.md](CONFIG.md); this file
only reports what that configuration produced.

- Generated: 2026-10-20T13:56:26+00:00
- Toolchain: `0.1.20260819`
- Platform: Windows-11-10.0.26100-SP0

- Model: `SmolLM2-135M-Instruct-Q8_0.gguf` (144,811,360 bytes)
- SHA-256: `5a1395716f7913741cc51d98581b9b1228d80987a9f7d3664106742eb06bba83`

| Metric | Value | Notes |
|---|---|---|
| native executable | 641.5 KB | gate ≤ 700 KB |
| browser bundle (raw) | 603.1 KB |  |
| browser bundle (brotli) | 60.5 KB | gate ≤ 70 KB |
| cold start | 283.4 ms | process launch to first token |
| prefill | 16.0256 tok/s | reported, not gated |
| decode | 15.3514 tok/s | reported, not gated |
| peak memory | 189.8 MB | gate ≤ 220 MB |
| browser load | 279 ms | Node, same V8 |
| browser decode | 6.324 tok/s | Node, 16 tokens |

## Reading these numbers

- Throughput is machine-dependent and is reported, not gated. Compare
  two reports from the same machine, not across machines.
- Peak memory is the high-water mark over a full run; see
  `docs/memory.md` for why a peak and a settled value answer different
  questions.
- Size figures are the deployment question: the native executable and
  the brotli bundle above are what a device or a CDN actually ships.
- Throughput can differ ~20% between runs on the same machine (background
  load, power profile). CONFIG.md records a cross-commit check showing
  that such a shift is the host, not the code.
