zdc-bench 0.1.0

Counts the js-framework-benchmark workload against the emitted runtime, and fails the build when the numbers regress.
Documentation

The benchmark suite §14A.4 makes a deliverable.

What this measures. Operation counts, not time. The workload runs in a pure-Rust JavaScript interpreter embedded in a cargo test, and a wall-clock number from there is not comparable to a browser — reporting one as if it were would be dishonest. What is comparable is how many times each arm crosses into the DOM, how many nodes it allocates, how many effects it creates, and how many times those effects re-run. Those counts are the same in this interpreter as in V8, because they are a property of the emitted code rather than of the engine.

What it cannot measure. React and SolidJS. §14A.4 asks for both, and both need a package manager: CI has no network and §8 forbids a Node dependency. The arms that stand in their place are a direct-emission generator (the design §16.1 rejected) and two hand-written vanilla implementations, one naive and one tuned. Nothing here should be read as a measurement against React or Solid.

The gap. each in the view is refused by this compiler (§16.5, M5b), so the workload's list cannot be written in ZDeceptron today. The row body in js/benchmark.js is the compiler's own emission for bench/row.zdtests/fidelity.rs proves it, and fails the build if it drifts — but the eachInto around it is written by hand. See BENCHMARKS.md.