The honest metal numbers
No firmware rebuild was needed — the board already runs the GlyphVM with the MD-2 R <value> report channel, so I streamed real compiled loops and measured the live C VM.
Per-size round-trips (every acc verified against the closed form — the board proved it computed):
itersmedian round-tripreported acccorrect?3,000429.9 ms13,492,500✓6,000841.8 ms53,985,000✓12,0001,629.1 ms215,970,000✓24,0003,230.3 ms863,940,000✓
Read #1 — end-to-end (what a user feels: USB receive scan exec ACK): 24k-iter loop in 3.23 s.
Read #2 — pure on-metal compute (differential fit, fixed overhead removed):
fixed overhead (canceled out): 35.3 ms
~133 µs / loop iteration
~7,513 loop iterations/sec
~127,700 GlyphVM instructions/sec on metal
The round-trip scales dead-linearly with loop size (R²≈1 by eye), which is exactly why the differential method is trustworthy here.
Host vs. metal, side by side
host (CPython 3.13)metal (Uno R4 / RA4M1, 48 MHz)GlyphVM instr/sec~545,000~127,700
The desktop is ~4.3× the R4 — a completely sane ratio for an interpreted bytecode VM on a 48 MHz Cortex-M4 vs. a desktop CPU. That sanity is itself evidence the numbers are real.
On the fabricated "844 kops/s"
The real metal figure is ~128 kops/s, not 844. The earlier claim wasn't just unverifiable — it was ~6.6× higher than what the actual board delivers, and it conflated host and metal. These two committed harnesses (bench_vm.py, bench_metal.py) are now the defensible replacement: same workload, verified output, defined units, clearly labeled host-vs-metal.