Skip to content

Prune rejected A03 moves and scan ordered via occupancy runs - #113

Open
seveibar wants to merge 3 commits into
mainfrom
perf/a03-measured-pruning-owner-runs
Open

Prune rejected A03 moves and scan ordered via occupancy runs#113
seveibar wants to merge 3 commits into
mainfrom
perf/a03-measured-pruning-owner-runs

Conversation

@seveibar

@seveibar seveibar commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

A03 spends substantial search time evaluating moves that are already closed or cannot improve their best known cost, and scanning empty or duplicate occupancy cells for through-vias. Prune those rejected moves using an admissible lower bound and add ordered occupancy runs for via queries. The original cost arithmetic, owner order, queue ordering and search budgets are preserved.

Direct callers keep dense queries by default; the autorouter integration explicitly selects viaOccupantQuery: "owner-runs". This is an algorithm/data-structure change with no query-result cache, native routing engine or parallel routing.

This PR freezes the benchmarked dependency commit 48c1ec6dfa61d83d58f8e3b11b97701918147c78. Paired with autorouter commit fb671fbdacaaf822ddf19b44eba953282a7101a6, fresh serial Blacksmith runs measured:

SRJ18 board Baseline HD stage Candidate HD stage Speedup
2 115.994 s 105.809 s 1.096×
6 230.820 s 143.834 s 1.605×
Sum 346.815 s 249.643 s 1.389×

That is 28.02% less stage time across these two diagnostic boards, not a full-corpus performance result or a 2× claim. Runs used the same Ampere-1a Blacksmith machine and Bun 1.4.2, baseline-first on board 2 and candidate-first on board 6. Complete output bytes, completion status and iteration counts match. Actual source and installed dependency bytes were verified before and after the runs.

Validation:

  • 86 dependency tests pass, 2 existing skips, 4,342 assertions; typecheck and build with declarations pass.
  • Six differential fixtures preserve all 1,442,105 pops and 1,668,594 queue events, raw costs, ordered owners/rips and output state. Numeric controls cover negative costs, signed zero, infinities and NaN.
  • The integrated version preserves complete high-density output and all 3,904,579 iterations across all 14 eligible SRJ18 boards. Boards 14 and 15 fail before this stage and are explicitly excluded.
  • The held-out full Gameboy regression also preserves complete output, completion, iteration counts and existing DRC findings.
  • All dependency and integration CI checks passed on the exact tested commits in the preceding draft PRs. New PR checks will run independently.

@vercel

vercel Bot commented Sep 9, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
high-density-a01 Ready Ready Preview Sep 9, 2026 5:11pm UTC

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant