Measured,
not argued.
Hardware numbers from a Raspberry Pi 5 (Cortex-A76 @ 2.4 GHz, frequency scaling disabled), captured via the Pi Debug Probe over UART. Linux baseline measured on the same board with `cyclictest` and `dmesg`. Methodology in the kernel repo at docs/benchmarks.md.
On the same board,
on the same probe.
We didn't change the hardware; we changed the kernel. The advantage comes from a minimal interrupt path, an embedded rootfs, and a verifier that does its job at load time so the runtime path stays short.
Interrupt latency · 100 samples
| stat | value |
|---|---|
| min | 203 ns |
| avg | 211 ns |
| max | 351 ns |
| samples | 100 |
Timer interrupt interval · 100 samples
| stat | value |
|---|---|
| min | 9 999 µs |
| avg | 9 999 µs |
| max | 10 000 µs |
| jitter | ≤ 1 µs |
Side-by-side · authoritative table
| metric | axiomOS (rpi5) | linux (rpi5) | note |
|---|---|---|---|
| Boot to init | 99 ms | 573 ms | to userspace spawn |
| Kernel image | 10 MB | ~15 MB | compressed |
| Kernel memory | ~22 MB | ~60 MB | image + heap (axiom) |
| BPF load (2 insn) | <1 µs | 24.80 µs | avg of 10 |
| Interrupt latency | 211 ns | ~2 µs | cyclictest |
| Latency max | 351 ns | 7 µs | worst-case observed |
platform
Raspberry Pi 5 · 8 GB
Cortex-A76 @ 2.4 GHz · governor pinned to performance · CPU frequency scaling disabled.
capture
Pi Debug Probe
CMSIS-DAP UART · 115 200 baud · kernel markers + userspace `/bin/benchmark`.
linux baseline
RPi OS 64-bit
Linux 6.12.62+rpt-rpi-2712 · cyclictest · 5 cold-boot runs.