Benchmark both paths, and decide on the evidence whether the second engine stays.
Acceptance rule
Streaming must be measurably faster than the tree path on the medium and large fixtures, with non-overlapping confidence intervals.
Significance, not point estimates: scripts/bench-report.py in the parity repo reports a significant column derived from the confidence intervals, and that column decides. A 1.03× point estimate between two noisy measurements is not a result.
Run on a quiet host with the preflight gate — the harness exists because a contaminated session produced 77 statistically tight and entirely unusable numbers.
If it is not faster, revert
A second engine costs maintenance forever. The differential suite that keeps two engines honest is itself a permanent cost, paid on every future change to either one.
This decision belongs here, on evidence, rather than after the code has accumulated dependents and reverting has become the expensive option. Deciding late is how a project ends up maintaining something nobody can justify.
Acceptance
- Both paths benched on the same fixtures in one run.
- The report shows significant improvement on medium and large, or the epic is reverted.
- The benchmark docs are updated with the new figures, generated rather than hand-typed.
Part of #49.
Benchmark both paths, and decide on the evidence whether the second engine stays.
Acceptance rule
Streaming must be measurably faster than the tree path on the medium and large fixtures, with non-overlapping confidence intervals.
Significance, not point estimates:
scripts/bench-report.pyin the parity repo reports asignificantcolumn derived from the confidence intervals, and that column decides. A 1.03× point estimate between two noisy measurements is not a result.Run on a quiet host with the preflight gate — the harness exists because a contaminated session produced 77 statistically tight and entirely unusable numbers.
If it is not faster, revert
A second engine costs maintenance forever. The differential suite that keeps two engines honest is itself a permanent cost, paid on every future change to either one.
This decision belongs here, on evidence, rather than after the code has accumulated dependents and reverting has become the expensive option. Deciding late is how a project ends up maintaining something nobody can justify.
Acceptance
Part of #49.