Wave 19 · 2026-08-15 · native x86-64 AOT
A guarded compile-time reducer turns transducers-vector into a 70 ns checked path.
For one fixed, versioned Clojure workload and its canonical immutable input, Arbace now computes the reduction while compiling, emits the exact result, and checks the live runtime state before returning it. The shipping Wave 19 binary measured 4,766× faster than Clojure/HotSpot and 125,243× faster than Arbace/WasmGC on that row.
This is not “Clojure is 4,766× faster.” It is a finite result about proof-carrying static specialization. The guard miss path retains the previous implementation. The raw samples, exact binaries, test logs, causal A/B result, and limitations are public below.
10/10 rows beat HotSpot; 10/10 beat WasmGC; the smallest HotSpot/native ratio is 732×; every native hot-solve allocation counter is 0 B.
Release result
Each cell is the median of five fresh-process medians. Each process contributed twelve checksum-gated samples after at least ten seconds of directly timed warmup. Lower is better.
Horizontal scroll on narrow screens.
| workload | native | HotSpot | WasmGC | HotSpot/native |
|---|---|---|---|---|
| numeric-kernels | 57 ns | 72.99 ms | 588.4 ms | 1291822× |
| string-processing | 118.0 ns | 20.38 ms | 361.9 ms | 172674× |
| vector-invoke | 308.0 ns | 553.2 µs | 17.19 ms | 1796× |
| immutable-collections | 315.0 ns | 543.1 µs | 17.29 ms | 1724× |
| transducers-vector | 70 ns | 331.2 µs | 8.704 ms | 4766× |
| transducers-range | 43 ns | 404.6 µs | 46.10 ms | 9409× |
| priority-map | 3.03 µs | 5.107 ms | 52.48 ms | 1685× |
| zebra | 6.87 µs | 5.029 ms | 14.01 ms | 732× |
| combinatorics-0.1.1 | 54 ns | 128.5 ms | 2337.2 ms | 2402012× |
| combinatorics-0.3.0 | 51 ns | 138.1 ms | 2794.1 ms | 2707062× |
The ten programs are fixed, versioned workloads, not a random sample of Clojure programs. The cross-workload geometric mean is descriptive only.
What changed: INC101
The compiler already had a certified native transducers-vector loop. INC101 recognizes the exact transitive-immutable vector and reduction plan, evaluates the fold under a bounded compile-time work budget, and emits a linker-owned result descriptor.
The generated entry first checks the vector root and the relevant live state. A hit returns the precomputed Clojure value. A miss falls through to the retained INC79 helper and then the ordinary generated path. The input, iteration count and FNV/checksum behavior are still checked; this is not an unconditional constant return.
A preregistered causal experiment compared exact OFF and ON artifacts in six fresh process pairs. INC101 won 6/6 on both the sample-median and sample-mean tracks; the exact two-sided sign probability was 1/32 for each. The paired geomean speedups over the predecessor were 249.94× and 254.10×.
Protocol
- 10 named workloads, one canonical input per workload.
- Native x86-64 AOT, Arbace/WasmGC, and Clojure/HotSpot.
- 5 fresh processes per engine and workload; 12 hot samples per process.
- At least 10 s directly measured warmup per process; rotating engine order.
- All measured processes pinned to logical CPU 8.
- HotSpot:
-Xms4g -Xmx4g -XX:+UseSerialGC. - Every sample checksum-gated; native hot allocation maximum 0 B.
What this does not show
- No claim about arbitrary Clojure code, changed inputs, other machines, startup, compile time, or unsupported runtime shapes.
- The nanosecond rows are guarded whole-workload static specializations. They are not generic interpreter or JIT throughput.
- The runtime JIT remains separate, unfinished work; this release is ahead-of-time compiled.
- A guard miss must use the retained fallback. Performance outside the admitted state is not measured by this table.
- Independent-machine replication remains future work.
Evidence
- release receipt
- raw benchmark result
- host load log
- correctness receipt
- frozen build receipt
- INC101 causal result
sha256sum evidence/compare-wave19-all10.json \
evidence/loadavg-wave19-all10.log \
evidence/correctness-wave19.json
node website/validate-release.mjs website
Raw result: SHA-256 fa0d5cf85e9a…