Skip to content

Compute Pipeline9 node probabilities from one pathing output - #2475

Merged
seveibar merged 1 commit into
mainfrom
codex/srj18-distilled-win
Sep 9, 2026
Merged

Compute Pipeline9 node probabilities from one pathing output#2475
seveibar merged 1 commit into
mainfrom
codex/srj18-distilled-win

Conversation

@seveibar

@seveibar seveibar commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Pipeline9 calculates each high-density node's failure probability by rebuilding the complete pathing output for every input node. Large boards repeatedly pay for identical route conversion and lookup work before high-density routing starts.

Build the solved-node lookup once and calculate every probability from that output. This distills one performance improvement from #2447 into three files. Probability formulas, pipeline stages, dependency versions, clearances, and search budgets are unchanged.

The same-machine SRJ18 comparison runs /benchmark --same-machine --dataset 18 on main 207c4191 and this PR's c4d639eb sequentially on one runner:

Measurement Main PR
DRC passing 9/16 (56.3%) 10/16 (62.5%)
Completion 11/16 (68.8%) 12/16 (75.0%)
Timeouts 3 2
Total sample time 3034.1s 2732.0s (-10.0%)
P50 time 143.3s 128.8s (-10.1%)
P80 time 348.8s 300.6s (-13.8%)
P95 time 360.0s 360.0s

Sample 12 changes from a 360-second timeout to DRC passing in 346.5s. There are no regressed outcomes. All 11 samples that complete on both revisions retain identical DRC messages and via counts. These rates describe this paired run; the quality gain comes from completing an existing route within the unchanged deadline.

Validation: all CI checks pass, including the full test suite, TypeScript, and production build. The generic regression verifies identical node probabilities with one output conversion. A separate full native sample 6 comparison preserves every route, reference DRC result, and non-timing solver statistic while reducing runtime from 300.9s to 265.0s (-11.9%).

@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
capacity-node-autorouter Ready Ready Preview Sep 9, 2026 3:51am UTC

Request Review

@tscircuitbot

Copy link
Copy Markdown
Contributor

Benchmark This PR

Run benchmarks by commenting on this PR:

/benchmark [benchmark.sh args...]
/benchmark-long [benchmark.sh args...]
/benchmark-all [benchmark.sh args except --dataset]
/benchmark --same-machine
/benchmark-all --same-machine
/profile --dataset 18

Comment /benchmark to run the default dataset, or append any arguments accepted by ./benchmark.sh.
Comment /benchmark-long for an 8-vCPU run that defaults to 8 workers and has an eight-hour timeout.
Comment /benchmark-all to start separate workflow runs and result comments for dataset01 and dataset18. You may append benchmark arguments such as --pipeline 9; --dataset is not accepted because the command selects both datasets.
Append --same-machine to /benchmark or /benchmark-all to compare current main and the PR head sequentially on the same 8-vCPU Blacksmith runner.
Comment /profile --dataset 18 to compare direct Pipeline 7 stage-time percentages between current main and the PR head sequentially on one Blacksmith runner.

Everything after /benchmark, /benchmark-long, or /benchmark-all is safely forwarded to ./benchmark.sh, except --profile-solvers, which enables profile comparison tables, and --same-machine, which enables the paired runner.
Examples: /benchmark --dataset 18 --sample-timeout 2000s, /benchmark --pipeline 10 --dataset 29, /benchmark --pipeline 10 --dataset 29 --sample 1, /benchmark --pipeline 7 --limit 20, /benchmark all 20 --concurrency 8, /benchmark --same-machine, /benchmark-all --pipeline 9 --same-machine, and /benchmark-long --dataset 18.

Use /update-snapshots (or /us) to run BUN_UPDATE_SNAPSHOTS=1 bun test --timeout 120_000 on the PR branch and auto-commit snapshot updates.
Use /usf to read recent failed test files, update and verify their exact CI test shards, and auto-commit only their snapshots. It uses the configured fast benchmark runner by default; use /usf --ubuntu-latest for GitHub-hosted x64 CI parity.

Any PR whose title contains [BENCHMARK TEST] will automatically run one default-dataset benchmark on PR updates; it does not post a PR result comment.

@seveibar

seveibar commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

/benchmark --same-machine --dataset 18

@tscircuitbot

tscircuitbot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Same Machine Benchmark Results

Both revisions ran sequentially in one Blacksmith job on blacksmith-01m224maz4rm453y3ffjh1z73g-8vcpu.

Dataset: srj18 · Scenarios: 16
Main: 207c419 · PR: c4d639e

Solver Metric Main PR Delta
Pipeline9 Completion 68.8% (🕒18.8%) 75.0% (🕒12.5%) +6.2 pp
Pipeline9 Relaxed DRC pass 56.3% (🕒18.8%) 62.5% (🕒12.5%) +6.2 pp
Pipeline9 DRC issues 44 44 0
Pipeline9 Timeouts 3 2 -1
Pipeline9 P50 time 143.3s 128.8s -10.1%
Pipeline9 P60 time 184.2s 169.8s -7.8%
Pipeline9 P70 time 297.2s 265.2s -10.8%
Pipeline9 P80 time 348.8s 300.6s -13.8%
Pipeline9 P90 time 360.0s 356.0s -1.1%
Pipeline9 P95 time 360.0s 360.0s 0.0%
Pipeline9 Average vias 176.91 187.17 +5.8%

Outcome changes: 1 improved, 0 regressed. DRC issues are totaled across solved samples. Timing percentiles include solved and timed-out samples; negative timing deltas are faster.

Changed outcomes (1)
Solver Sample Main PR Main time PR time Delta
Pipeline9 12 Timeout DRC passed 360.0s 346.5s Improved

Workflow: View run
Artifact: Download raw reports

@seveibar
seveibar marked this pull request as ready for review September 9, 2026 04:00
@seveibar

seveibar commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

/benchmark --same-machine --dataset 18

@tscircuitbot

tscircuitbot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Same Machine Benchmark Results

Both revisions ran sequentially in one Blacksmith job on blacksmith-01m225zwmty50ey68rnr97xwax-8vcpu.

Dataset: srj18 · Scenarios: 16
Main: 207c419 · PR: c4d639e

Solver Metric Main PR Delta
Pipeline9 Completion 81.3% (🕒6.3%) 81.3% (🕒6.3%) 0.0 pp
Pipeline9 Relaxed DRC pass 62.5% (🕒6.3%) 62.5% (🕒6.3%) 0.0 pp
Pipeline9 DRC issues 51 51 0
Pipeline9 Timeouts 1 1 0
Pipeline9 P50 time 111.3s 100.8s -9.4%
Pipeline9 P60 time 137.8s 132.7s -3.7%
Pipeline9 P70 time 247.4s 230.4s -6.9%
Pipeline9 P80 time 315.2s 283.2s -10.2%
Pipeline9 P90 time 333.4s 322.0s -3.4%
Pipeline9 P95 time 343.3s 341.9s -0.4%
Pipeline9 Average vias 210.92 210.92 0.0%

Outcome changes: 0 improved, 0 regressed. DRC issues are totaled across solved samples. Timing percentiles include solved and timed-out samples; negative timing deltas are faster.

Workflow: View run
Artifact: Download raw reports

@seveibar
seveibar merged commit e07f0d9 into main Sep 9, 2026
27 checks passed
@tscircuitbot

Copy link
Copy Markdown
Contributor

Thank you for your contribution! 🎉

PR Rating: ⭐⭐⭐
Impact: Major

Track your contributions and see the leaderboard at: tscircuit Contribution Tracker


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.

2 participants