ReviewOS

zig-utils/zig-js

WebAssembly SIMD: exact upstream score and performance evidence

#283
Closed chris opened this 9 days ago ·
9 days ago

Parent: #264 Depends on: #279, #280, #281, #282 Roadmap: #268, #142, #134

Publish the terminal, reproducible evidence for the pinned fixed-width-SIMD profile.

Acceptance:

  • Extend the corpus runner to inventory every command in all 56 pinned SIMD WAST files, including explicit execution mode and NaN policy.
  • Report pass/fail/not-applicable/runner totals with zero hidden skips, exclusions, or timeouts.
  • Add bounded exact-pin CI witnesses and a deliberate complete-run command.
  • Benchmark representative integer, float, shuffle, and memory kernels against the scalar oracle and system JSC where the host exposes equivalent Wasm SIMD.
  • Declare supported architectures and fallback behavior from committed evidence.
  • Publish exact totals, raw benchmark artifacts, boundaries, and reproduction in README/docs.
9 days ago

Completed and published.

Evidence:

  • Complete pinned SIMD corpus: 25,466 / 25,466 applicable commands pass across all 56 files; 510 text-format commands are explicit n/a; failures and runner errors are zero.
  • The 25,976-command raw inventory is committed at docs/.data/wasm-simd-inventory.json and locked by tools/wasm-feature-profiles.py in 9af879a.
  • Exact-pin bounded integer, float, lane/shuffle, and memory CI witnesses landed in a60831e. The complete profile command remains deliberate and documented.
  • The readable WAT kernels, exact embedded 1,166-byte module, scalar oracles, zig-js/JSC runner integration, and benchmark harness landed in 880e453. The timing-floor calibration landed in 7362c1e.
  • The accepted Apple M3 Pro run preserves 224 samples across 32 scored rows; every median is 50.7–1,257.4 ms. At eight independent warmed contexts, zig-js SIMD reaches 28.35 M/s integer, 27.66 M/s float, 29.00 M/s shuffle, and 41.13 M/s memory, scaling 3.67x–4.58x. System JSC reaches 280.32–291.96 M/s. Every SIMD/scalar and cross-engine checksum matches.
  • The report, raw TSV, boundaries, exact environment/module hash, reproduction, README scorecard, supported-target statement, and portable fallback statement landed in be438ae.
  • Fixed-width SIMD has no architecture-specific branches today: every zig-js target uses the same portable u128/lane implementation, with no unsupported-target gap. Native intrinsic lowering is explicitly not claimed.

Verification used the complete pinned ReleaseFast 56-file run twice, the four bounded CI witness files, the feature-profile registry checker, exact WAT/embedded-byte SHA-256 comparison, optimized runner build, cross-engine quick oracle pass, and the final seven-sample matrix.

Sign in to comment on this issue.