Canonical Wago documentation
ARM64 benchmarks and many-instance plan
How to interpret the published ARM64 data and the reproducible protocol for the not-yet-published 1, 8, 80, and 120 instance benchmark.
Current ARM64 data
The homepage publishes ARM64 Wago-versus-wazero rows measured on one ARM64 machine. The structured copy is in project.json. Published instantiation values describe Go heap bytes or allocation objects created during instantiation; they are not total per-instance memory.
Instantiation allocation figures exclude guest linear memory, native code mappings, and native virtual-memory reservations.
Many-instance benchmark status
Status: protocol published; results not measured. Wago does not currently claim “80 instances under X MiB RSS.” Results will appear here only after the raw samples and reproduction command are committed.
Instance counts
N = 1, 8, 80, 120, with compile-once and fresh-process runs separated.
Workloads
- No-memory scalar module
- 128 KiB initial linear memory
- 1 MiB initialized data
- 16 MiB active working set
- Host-call-heavy and compute-heavy loops
- Create/close churn and long-lived warm instances
Required outputs
- Total throughput, per-instance fairness, and p50/p95/p99 latency
- RSS, PSS, and virtual memory reported separately
- Minor/major page faults, Go heap, GC CPU/time, and compile-once cost
- Incremental memory per live instance and memory returned after close
- A run under an explicit cgroup memory limit
Until those fields are present, this page deliberately contains no synthetic headline.