Skip to content

Release v0.7.0 — Apple M2 performance closure, sub-byte unpack, release-path repair

Date: 2026-07-11 · Scope: post-M10 performance and infrastructure release (no new milestone; M9/M10 remain partial/deferred per their gate records). Release template per REQ-DOC-010.

Summary

The single-machine performance story is closed. Every Apple M2 operation shape now dispatches to the fastest correct implementation with committed evidence: the losing handwritten NEON paths delegate to the autovectorized scalar reference (parity verified at every registered shape), the sub-byte NEON unpacker was built, proven, measured, and promoted (6.9×–11.0× on the common Parquet-RLE widths), and the paired benchmark grid for compare/filter/select/reduce is complete with zero unknowns. The nightly MSan leg — the R-19 release blocker — is fixed, so this is the first tag whose release.yml run can publish artifacts with a green nightly.

Highlights

  • Sub-byte NEON unpack promoted (w ∈ [1,7]): 10.97× (w=1), 6.93× (w=4), 8.34× (w=7) over the scalar gather, every CV under 0.9%, controls matching committed history; exact ⌈n·w/8⌉ read bound preserved and guard-page proven. -DQUIVER_K8_SUBBYTE_VECTOR=0 reverts (REQ-KERNEL-007).
  • Evidence-gated delegation (aarch64): 64-bit compare bitmap and 8-byte elementwise arith run the compiler's NEON via the scalar reference; byte-identical-codegen proof plus wall-clock parity at all 15 compare shapes.
  • Complete Apple M2 grid: 53 paired shapes across four families, 0 unknown; filter wins 1.60×–1.81× everywhere, select 5.0×–7.4×, reduce null-masked sums up to 8.39× with dense-i64 parity stated plainly.
  • Release path live: the MSan probe fix closes R-19; the nightly suite is green end to end for the first time.
  • Three new investigation records and a documentation-wide plain-language pass.

API changes

None. All public signatures are unchanged (the M10 freeze audit remains clean). Dispatch behavior changes only in which backend implementation runs for the affected shapes; results are bit-identical everywhere (REQ-KERNEL-002).

Validation

Full CI matrix green on the release SHA, including the SDE AVX-512 correctness legs. The sub-byte unpack path is covered by an exhaustive width differential (via real dispatch), boundary-length and randomized sweeps, guard-page no-over-read tests, and ASan/UBSan. The nightly suite — full differential cross product on three platforms, 4.5 h differential fuzz, MSan (fixed), LSan, coverage, vectorization report — passes end to end on the release branch dispatch.

Performance evidence

All claims are backed by committed ledger entries under ledger/results/apple-m2/ (runs 20260710-220d2e0236b8* and 20260710-989c0f6a88b7*), with qle: references in the family pages (unpack, compare, reduce) and the full-sweep investigation. Apple M2 only — one registered machine (R-06); no cross-µarch claim is made.

Known limitations

  • One registered machine (R-06, unchanged): the release-checklist regression subset "on ≥2 registered machines" is impossible by definition here; deltas versus v0.6.0 are explained on the single machine. v1.0 certification remains deferred (gate M10).
  • v0.6.0 artifacts remain unattached: its tag predates the MSan fix, so its release.yml run cannot go green retroactively; v0.7.0 is the first artifact-publishing tag. The v0.6.0 notes document this hold (R-19).
  • The version constant reconciliation (config.h, trailing at 0.1.0) is the post-release bump step of the release plan, executed after this tag.
  • AVX2/AVX-512 sub-byte unpack still delegates to scalar (needs x86 hardware evidence); MSVC remains tier-2 (R-17, R-18).

Migration notes

None required. Consumers linking quiver::quiver or the amalgamation see identical results; aarch64 users get the sub-byte unpack speedup transparently.