Skip to content

fix: port Pipeline7 optimizations into preload-compatible Pipeline9 - #2185

Merged
seveibar merged 25 commits into
mainfrom
fix/pipeline9-srj18-parity
Aug 21, 2026
Merged

fix: port Pipeline7 optimizations into preload-compatible Pipeline9#2185
seveibar merged 25 commits into
mainfrom
fix/pipeline9-srj18-parity

Conversation

@seveibar

@seveibar seveibar commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Goal

Make Pipeline9 match Pipeline7's completion, relaxed-DRC quality, and speed while keeping one preload-compatible pipeline for every input. A board with one preloaded trace runs the same stage list and solver configuration as a board with none; this PR does not delegate trace-free boards to Pipeline7 or disable preload features.

What changed

  • Port Pipeline7's tiny-hypergraph subsolvers into Pipeline9's serialized preload-aware path: congestion duplication, section optimization, trace-density portfolio selection, and rerip preservation preferences all remain enabled with preloads.
  • Use Pipeline7's detailed GrowShrink high-density solver wherever a node has no local fixed-copper overlap; use preload-aware B01/regional routing where fixed copper is local, preserving aliases, terminal identities, buried-via spans, immutable copper, and through_obstacle primitives.
  • Replace per-candidate full relaxed-DRC work with a reused indexed evaluator, while retaining a cached full reference validation gate before accepting a nominally clean candidate.
  • Port Pipeline7's adaptive exact-repair portfolio into Pipeline9's joint new/preloaded repair model, including explicit trace/via ownership and collision-safe preload ID remapping.
  • Bound post-exact terminal precision work to small residual sets. Large nonclean boards keep the exact result and remain honestly DRC-failing instead of timing out on thousands of low-yield candidate scans.
  • Enable Pipeline7's board-edge and crossing-via simplification settings, exact differential-pair centerline gap, and power-trace expansion on the updated preload set.
  • Preserve loud failures for invalid high-density geometry; regional retries use all legal board layers instead of emitting fabricated crossings.
  • Add stable preload-baseline tracking so section materialization and candidate selection account for preload churn rather than hiding or freezing it.

Preload invariant

There is no preload-count branch that changes Pipeline9's stage list or swaps in a separate Pipeline7 pipeline. Preloaded routes remain movable when they are the only blocker, but ordinary routes are preferred for rerip first. Immutable preloads are carried into every fallback as indexed, layer-aware copper obstacles and final candidate geometry is checked before acceptance.

Regional repair is entered from the identities in the remaining DRC errors, not from the number of preloaded traces. Once a real preload-owned conflict activates that bounded joint pass, it can also clear supported ordinary errors in the same region.

Dependency PRs

The package pins use the exact tested heads of those PRs.

Final benchmark evidence

Serial Pipeline7 then Pipeline9 runs on the same warmed Blacksmith 4-vCPU Testbox, SRJ18, concurrency 4. The measured head is byte-for-byte identical to the current head for Pipeline7 and Pipeline9; the two later commits only restore legal-layer routing in Pipeline4 and increase the CI job timeout:

Metric Pipeline7 Pipeline9 Pipeline9 delta
Completion 81.3% 81.3% equal
Relaxed DRC pass 50.0% 50.0% equal
Timeouts 1/16 1/16 equal
P50 103.9s 91.0s -12.5%
P60 114.2s 114.0s -0.2%
P70 164.4s 190.6s +15.9%
P80 225.6s 243.6s +8.0%
P90 307.7s 311.4s +1.2%
P95 343.8s 332.5s -3.3%
Average vias 209.46 206.38 -1.5%

Pipeline9 matches Pipeline7's completion, relaxed-DRC pass rate, and timeout count. It is faster at P50, P60, and P95 and slower at P70, P80, and P90, with the largest gap +15.9% at P70. Both pipelines share the same remaining timeout (sample 6) and tiny-hypergraph failures (samples 14/15).

Same-machine main-vs-PR workflow results:

  • SRJ18 Pipeline9: 6.3% → 81.3% completion, 6.3% → 50.0% relaxed DRC, five → one timeout, P50 360.0s → 108.0s; 12 improved outcomes, 0 regressed.
  • Preload-heavy SRJ23 Pipeline9: 96.1% → 100.0% completion, 82.9% → 85.5% relaxed DRC, zero timeouts, P95 81.8s → 43.9s.

Validation

  • bun run build
  • bunx tsc --noEmit
  • Focused Pipeline9 regressions covering zero/one-preload invariance, tiny subsolver parity, collision-safe ownership, immutable fixed copper, through-obstacle reconstruction, exact/reference DRC parity, bounded regional repair, terminal escape, power expansion, and SRJ18/SRJ23 benchmark samples
  • Focused Pipeline4 compatibility coverage proving impossible single-layer nodes gain legal board layers without enabling invalid-geometry fallback
  • Dependency PR test/type/format checks are green and merge-clean
  • Autorouter build, type, format, added-code, Vercel, and Testbox validation checks are green. All nine Bun test shards pass on the final head.

@vercel

vercel Bot commented Aug 21, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
capacity-node-autorouter Ready Ready Preview Aug 21, 2026 12:27pm

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 the default dataset plus srj18, srj19, srj20, srj21, and srj23. You may append benchmark arguments such as --pipeline 9; --dataset is not accepted because the command selects every configured dataset.
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

Copy link
Copy Markdown
Contributor Author

/benchmark --same-machine --pipeline 9 --dataset 18

@seveibar

Copy link
Copy Markdown
Contributor Author

/benchmark --same-machine --dataset 18

@tscircuitbot

tscircuitbot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Same Machine Benchmark Results

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

Dataset: srj18 · Scenarios: 16
Main: 6799b1f · PR: f5b2919

Solver Metric Main PR Delta
Pipeline9 Completion 6.3% (🕒31.3%) 81.3% (🕒6.3%) +75.0 pp
Pipeline9 Relaxed DRC pass 6.3% (🕒31.3%) 50.0% (🕒6.3%) +43.7 pp
Pipeline9 DRC issues 0 141 +141
Pipeline9 Timeouts 5 1 -4
Pipeline9 P50 time 360.0s 120.8s -66.4%
Pipeline9 P60 time 360.0s 149.6s -58.5%
Pipeline9 P70 time 360.0s 192.6s -46.5%
Pipeline9 P80 time 360.0s 276.1s -23.3%
Pipeline9 P90 time 360.0s 333.4s -7.4%
Pipeline9 P95 time 360.0s 355.0s -1.4%
Pipeline9 Average vias 163.00 209.46 +28.5%

Outcome changes: 12 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 (12)
Solver Sample Main PR Main time PR time Delta
Pipeline9 1 Failed DRC passed 29.9s 40.2s Improved
Pipeline9 2 Timeout Solved (DRC failed) 360.0s 352.4s Improved
Pipeline9 3 Failed DRC passed 33.3s 43.6s Improved
Pipeline9 4 Timeout Solved (DRC failed) 360.0s 123.9s Improved
Pipeline9 7 Failed DRC passed 106.5s 51.2s Improved
Pipeline9 8 Failed Solved (DRC failed) 175.4s 184.3s Improved
Pipeline9 9 Failed DRC passed 49.9s 86.4s Improved
Pipeline9 10 Failed DRC passed 62.0s 156.0s Improved
Pipeline9 11 Failed DRC passed 157.3s 117.8s Improved
Pipeline9 12 Timeout DRC passed 360.0s 289.1s Improved
Pipeline9 13 Timeout Solved (DRC failed) 360.0s 267.4s Improved
Pipeline9 16 Failed Solved (DRC failed) 47.5s 73.9s Improved

Workflow: View run
Artifact: Download raw reports

@tscircuitbot

tscircuitbot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Same Machine Benchmark Results

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

Dataset: srj18 · Scenarios: 16
Main: 6799b1f · PR: f5b2919

Solver Metric Main PR Delta
Pipeline7 Completion 81.3% (🕒6.3%) 81.3% (🕒6.3%) 0.0 pp
Pipeline7 Relaxed DRC pass 50.0% (🕒6.3%) 50.0% (🕒6.3%) 0.0 pp
Pipeline7 DRC issues 141 141 0
Pipeline7 Timeouts 1 1 0
Pipeline7 P50 time 113.3s 112.2s -1.0%
Pipeline7 P60 time 135.7s 127.1s -6.3%
Pipeline7 P70 time 166.9s 165.3s -0.9%
Pipeline7 P80 time 232.9s 230.7s -1.0%
Pipeline7 P90 time 306.9s 293.2s -4.5%
Pipeline7 P95 time 340.2s 327.6s -3.7%
Pipeline7 Average vias 209.46 209.46 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 force-pushed the fix/pipeline9-srj18-parity branch from f5b2919 to de07338 Compare August 21, 2026 03:13
@seveibar seveibar changed the title fix: align Pipeline9 with Pipeline7 on trace-free boards fix: align Pipeline9 stages with Pipeline7 Aug 21, 2026
@seveibar seveibar changed the title fix: align Pipeline9 stages with Pipeline7 fix: port Pipeline7 optimizations into preload-compatible Pipeline9 Aug 21, 2026
@seveibar

Copy link
Copy Markdown
Contributor Author

/benchmark --same-machine --pipeline 9 --dataset 18

@seveibar

Copy link
Copy Markdown
Contributor Author

/benchmark --same-machine --dataset 18

@tscircuitbot

tscircuitbot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Same Machine Benchmark Results

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

Dataset: srj18 · Scenarios: 16
Main: 6799b1f · PR: cfd7eb6

Solver Metric Main PR Delta
Pipeline9 Completion 6.3% (🕒25.0%) 25.0% (🕒6.3%) +18.7 pp
Pipeline9 Relaxed DRC pass 6.3% (🕒25.0%) 25.0% (🕒6.3%) +18.7 pp
Pipeline9 DRC issues 0 0 0
Pipeline9 Timeouts 4 1 -3
Pipeline9 P50 time 360.0s 51.9s -85.6%
Pipeline9 P60 time 360.0s 56.0s -84.5%
Pipeline9 P70 time 360.0s 60.0s -83.3%
Pipeline9 P80 time 360.0s 121.7s -66.2%
Pipeline9 P90 time 360.0s 240.8s -33.1%
Pipeline9 P95 time 360.0s 300.4s -16.6%
Pipeline9 Average vias 163.00 162.75 -0.2%

Outcome changes: 3 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 (3)
Solver Sample Main PR Main time PR time Delta
Pipeline9 3 Failed DRC passed 26.8s 37.1s Improved
Pipeline9 7 Failed DRC passed 84.7s 62.1s Improved
Pipeline9 10 Failed DRC passed 47.7s 51.9s Improved

Workflow: View run
Artifact: Download raw reports

@tscircuitbot

tscircuitbot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Same Machine Benchmark Results

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

Dataset: srj18 · Scenarios: 16
Main: 6799b1f · PR: cfd7eb6

Solver Metric Main PR Delta
Pipeline7 Completion 68.8% (🕒18.8%) 75.0% (🕒12.5%) +6.2 pp
Pipeline7 Relaxed DRC pass 43.8% (🕒18.8%) 50.0% (🕒12.5%) +6.2 pp
Pipeline7 DRC issues 94 97 +3
Pipeline7 Timeouts 3 2 -1
Pipeline7 P50 time 177.2s 141.9s -19.9%
Pipeline7 P60 time 206.9s 157.3s -23.9%
Pipeline7 P70 time 262.6s 199.7s -24.0%
Pipeline7 P80 time 314.9s 270.5s -14.1%
Pipeline7 P90 time 360.0s 344.0s -4.5%
Pipeline7 P95 time 360.0s 360.0s 0.0%
Pipeline7 Average vias 171.00 180.83 +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
Pipeline7 12 Timeout DRC passed 360.0s 306.6s Improved

Workflow: View run
Artifact: Download raw reports

@seveibar

Copy link
Copy Markdown
Contributor Author

/benchmark --same-machine --pipeline 9 --dataset 23

@tscircuitbot

tscircuitbot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Same Machine Benchmark Results

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

Dataset: srj23 · Scenarios: 76
Main: 6799b1f · PR: cfd7eb6

Solver Metric Main PR Delta
Pipeline9 Completion 96.1% 100.0% +3.9 pp
Pipeline9 Relaxed DRC pass 82.9% 85.5% +2.6 pp
Pipeline9 DRC issues 15 22 +7
Pipeline9 Timeouts 0 0 0
Pipeline9 P50 time 1.6s 1.9s +22.2%
Pipeline9 P60 time 3.2s 4.3s +34.2%
Pipeline9 P70 time 4.9s 8.2s +69.3%
Pipeline9 P80 time 12.6s 12.9s +2.5%
Pipeline9 P90 time 39.1s 28.4s -27.4%
Pipeline9 P95 time 81.7s 38.1s -53.4%
Pipeline9 Average vias 30.26 31.04 +2.6%

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

Changed outcomes (5)
Solver Sample Main PR Main time PR time Delta
Pipeline9 18 DRC passed Solved (DRC failed) 26.0s 13.1s Regressed
Pipeline9 26 Failed Solved (DRC failed) 22.8s 102.6s Improved
Pipeline9 55 Failed DRC passed 45.6s 33.9s Improved
Pipeline9 59 Failed DRC passed 8.6s 23.1s Improved
Pipeline9 67 Solved (DRC failed) DRC passed 66.5s 39.3s Improved

Workflow: View run
Artifact: Download raw reports

@seveibar

Copy link
Copy Markdown
Contributor Author

/benchmark --same-machine --pipeline 9 --dataset 18

@seveibar

Copy link
Copy Markdown
Contributor Author

/benchmark --same-machine --dataset 18

@tscircuitbot

tscircuitbot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Same Machine Benchmark Results

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

Dataset: srj23 · Scenarios: 76
Main: 6799b1f · PR: c51d28a

Solver Metric Main PR Delta
Pipeline9 Completion 96.1% 100.0% +3.9 pp
Pipeline9 Relaxed DRC pass 82.9% 85.5% +2.6 pp
Pipeline9 DRC issues 15 23 +8
Pipeline9 Timeouts 0 0 0
Pipeline9 P50 time 1.6s 2.3s +43.8%
Pipeline9 P60 time 3.5s 4.1s +16.8%
Pipeline9 P70 time 5.3s 8.1s +54.3%
Pipeline9 P80 time 13.8s 14.9s +8.1%
Pipeline9 P90 time 39.9s 36.3s -9.0%
Pipeline9 P95 time 81.8s 43.9s -46.3%
Pipeline9 Average vias 30.26 30.53 +0.9%

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

Changed outcomes (5)
Solver Sample Main PR Main time PR time Delta
Pipeline9 18 DRC passed Solved (DRC failed) 26.4s 19.2s Regressed
Pipeline9 26 Failed Solved (DRC failed) 24.8s 160.5s Improved
Pipeline9 55 Failed DRC passed 46.9s 42.6s Improved
Pipeline9 59 Failed DRC passed 9.3s 28.6s Improved
Pipeline9 67 Solved (DRC failed) DRC passed 65.8s 44.2s Improved

Workflow: View run
Artifact: Download raw reports

@seveibar

Copy link
Copy Markdown
Contributor Author

/benchmark --same-machine --pipeline 9 --dataset 23

@tscircuitbot

tscircuitbot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Same Machine Benchmark Results

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

Dataset: srj23 · Scenarios: 76
Main: 6799b1f · PR: 8b9bd42

Solver Metric Main PR Delta
Pipeline9 Completion 96.1% 96.1% 0.0 pp
Pipeline9 Relaxed DRC pass 82.9% 88.2% +5.3 pp
Pipeline9 DRC issues 15 17 +2
Pipeline9 Timeouts 0 0 0
Pipeline9 P50 time 1.5s 1.8s +22.7%
Pipeline9 P60 time 3.3s 4.6s +39.6%
Pipeline9 P70 time 4.7s 8.8s +85.8%
Pipeline9 P80 time 12.1s 16.5s +35.9%
Pipeline9 P90 time 39.2s 37.2s -5.1%
Pipeline9 P95 time 79.0s 44.9s -43.1%
Pipeline9 Average vias 30.26 31.11 +2.8%

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

Changed outcomes (7)
Solver Sample Main PR Main time PR time Delta
Pipeline9 26 Failed DRC passed 23.3s 158.3s Improved
Pipeline9 43 Solved (DRC failed) Failed 4.2s 8.3s Regressed
Pipeline9 49 Solved (DRC failed) Failed 121ms 141ms Regressed
Pipeline9 55 Failed DRC passed 46.3s 45.1s Improved
Pipeline9 59 Failed DRC passed 8.8s 28.6s Improved
Pipeline9 67 Solved (DRC failed) DRC passed 66.2s 44.8s Improved
Pipeline9 76 Solved (DRC failed) Failed 1.6s 1.9s Regressed

Workflow: View run
Artifact: Download raw reports

@seveibar

Copy link
Copy Markdown
Contributor Author

Final cross-solver parity check on one warmed Blacksmith 4-vCPU Testbox (serial Pipeline7 then Pipeline9, SRJ18, concurrency 4): both 81.3% completion / 50.0% relaxed DRC / 1 timeout. Pipeline9 P50 91.0s vs 103.9s (-12.5%) and P95 332.5s vs 343.8s (-3.3%); average vias 206.38 vs 209.46. Full percentile table is now in the PR body. Testbox workflow: https://github.com/tscircuit/tscircuit-autorouter/actions/runs/32476897633

@seveibar

Copy link
Copy Markdown
Contributor Author

/benchmark --same-machine --pipeline 7 --dataset 18

@seveibar

Copy link
Copy Markdown
Contributor Author

/benchmark --same-machine --pipeline 9 --dataset 18

@seveibar

Copy link
Copy Markdown
Contributor Author

/benchmark --pipeline 9

@tscircuitbot

tscircuitbot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Same Machine Benchmark Results

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

Dataset: srj18 · Scenarios: 16
Main: 6799b1f · PR: a2aa483

Solver Metric Main PR Delta
Pipeline7 Completion 81.3% (🕒6.3%) 81.3% (🕒6.3%) 0.0 pp
Pipeline7 Relaxed DRC pass 50.0% (🕒6.3%) 50.0% (🕒6.3%) 0.0 pp
Pipeline7 DRC issues 141 141 0
Pipeline7 Timeouts 1 1 0
Pipeline7 P50 time 104.7s 96.5s -7.9%
Pipeline7 P60 time 126.4s 108.5s -14.2%
Pipeline7 P70 time 163.5s 153.0s -6.4%
Pipeline7 P80 time 238.1s 232.4s -2.4%
Pipeline7 P90 time 302.2s 291.2s -3.6%
Pipeline7 P95 time 335.2s 326.6s -2.6%
Pipeline7 Average vias 209.46 209.46 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

@tscircuitbot

tscircuitbot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Same Machine Benchmark Results

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

Dataset: srj18 · Scenarios: 16
Main: 6799b1f · PR: a2aa483

Solver Metric Main PR Delta
Pipeline9 Completion 6.3% (🕒25.0%) 81.3% (🕒6.3%) +75.0 pp
Pipeline9 Relaxed DRC pass 6.3% (🕒25.0%) 50.0% (🕒6.3%) +43.7 pp
Pipeline9 DRC issues 0 105 +105
Pipeline9 Timeouts 4 1 -3
Pipeline9 P50 time 360.0s 96.3s -73.2%
Pipeline9 P60 time 360.0s 123.3s -65.8%
Pipeline9 P70 time 360.0s 202.4s -43.8%
Pipeline9 P80 time 360.0s 251.5s -30.1%
Pipeline9 P90 time 360.0s 322.3s -10.5%
Pipeline9 P95 time 360.0s 343.4s -4.6%
Pipeline9 Average vias 163.00 206.38 +26.6%

Outcome changes: 12 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 (12)
Solver Sample Main PR Main time PR time Delta
Pipeline9 1 Failed DRC passed 25.6s 39.4s Improved
Pipeline9 2 Timeout Solved (DRC failed) 360.0s 334.5s Improved
Pipeline9 3 Failed DRC passed 28.3s 40.4s Improved
Pipeline9 4 Timeout Solved (DRC failed) 360.0s 117.9s Improved
Pipeline9 7 Failed DRC passed 89.0s 64.0s Improved
Pipeline9 8 Failed Solved (DRC failed) 153.4s 200.1s Improved
Pipeline9 9 Failed DRC passed 37.6s 74.7s Improved
Pipeline9 10 Failed DRC passed 47.4s 64.0s Improved
Pipeline9 11 Failed DRC passed 131.9s 124.6s Improved
Pipeline9 12 Timeout DRC passed 360.0s 293.8s Improved
Pipeline9 13 Failed Solved (DRC failed) 344.0s 223.4s Improved
Pipeline9 16 Failed Solved (DRC failed) 39.0s 72.4s Improved

Workflow: View run
Artifact: Download raw reports

@tscircuitbot

tscircuitbot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Default Benchmark Results

Main vs PR

Dataset: dataset01 · Scenarios: 85 · Effort: 1x effort

Solver Metric Main PR Change
Pipeline9 Completion n/a 100.0% n/a
Pipeline9 Relaxed DRC pass n/a 98.8% n/a
Pipeline9 DRC issues n/a 1 n/a
Pipeline9 Timeouts 0 0 0
Pipeline9 P50 time n/a 5.5s n/a
Pipeline9 P60 time n/a 7.7s n/a
Pipeline9 P70 time n/a 8.9s n/a
Pipeline9 P80 time n/a 11.3s n/a
Pipeline9 P90 time n/a 13.5s n/a
Pipeline9 P95 time n/a 16.4s n/a
Pipeline9 Average vias n/a 37.42 n/a

DRC issues are totaled across solved samples. Timing percentiles include solved and timed-out samples; negative timing changes are faster.

Previous main run details
Solver Sample Status Via Time Relaxed DRC Error
Pipeline7 1 Solved 0 1.5s Passed
Pipeline7 2 Solved 24 11.9s Passed
Pipeline7 3 Solved 14 5.7s Passed
Pipeline7 4 Solved 14 6.8s Passed
Pipeline7 5 Solved 3 1.7s Passed
Pipeline7 6 Solved 2 2.2s Passed
Pipeline7 7 Solved 4 2.3s Passed
Pipeline7 8 Solved 19 7.9s Passed
Pipeline7 9 Solved 12 4.8s Passed
Pipeline7 10 Solved 4 2.7s Passed
Pipeline7 11 Solved 3 1.8s Passed
Pipeline7 12 Solved 4 2.8s Passed
Pipeline7 13 Solved 17 4.2s Passed
Pipeline7 14 Solved 4 2.6s Failed
Pipeline7 15 Solved 2 1.9s Passed
Pipeline7 16 Solved 1 1.2s Passed
Pipeline7 17 Solved 0 2.8s Passed
Pipeline7 18 Solved 40 10.7s Passed
Pipeline7 19 Solved 71 16.9s Passed
Pipeline7 20 Solved 46 10.9s Passed
Pipeline7 21 Solved 87 20.7s Passed
Pipeline7 22 Solved 46 11.5s Passed
Pipeline7 23 Solved 82 14.7s Passed
Pipeline7 24 Solved 34 9.2s Passed
Pipeline7 25 Solved 15 5.8s Passed
Pipeline7 26 Solved 37 10.1s Passed
Pipeline7 27 Solved 115 25.9s Passed
Pipeline7 28 Solved 9 4.0s Passed
Pipeline7 29 Solved 46 11.8s Passed
Pipeline7 30 Solved 12 8.2s Passed
Pipeline7 31 Solved 20 7.3s Passed
Pipeline7 32 Solved 150 46.7s Failed
Pipeline7 33 Solved 0 1.1s Passed
Pipeline7 34 Solved 7 2.3s Passed
Pipeline7 35 Solved 44 9.0s Passed
Pipeline7 36 Solved 2 268ms Passed
Pipeline7 37 Solved 160 25.3s Passed
Pipeline7 38 Solved 11 5.1s Passed
Pipeline7 39 Solved 61 14.4s Passed
Pipeline7 40 Solved 20 4.3s Passed
Pipeline7 41 Solved 47 10.5s Passed
Pipeline7 42 Solved 2 1.2s Passed
Pipeline7 43 Solved 4 923ms Passed
Pipeline7 44 Solved 33 7.2s Passed
Pipeline7 45 Solved 3 704ms Passed
Pipeline7 46 Solved 12 2.2s Passed
Pipeline7 47 Solved 4 1.5s Passed
Pipeline7 48 Solved 7 1.8s Passed
Pipeline7 49 Solved 129 26.3s Failed
Pipeline7 50 Solved 16 4.7s Passed
Pipeline7 51 Solved 9 1.4s Passed
Pipeline7 52 Solved 60 15.8s Failed
Pipeline7 53 Solved 56 12.5s Passed
Pipeline7 54 Solved 98 19.4s Passed
Pipeline7 55 Solved 76 22.8s Failed
Pipeline7 56 Solved 60 13.5s Passed
Pipeline7 57 Solved 40 13.6s Failed
Pipeline7 58 Solved 129 26.9s Failed
Pipeline7 59 Solved 38 7.3s Passed
Pipeline7 60 Solved 70 12.4s Passed
Pipeline7 61 Solved 93 15.7s Passed
Pipeline7 62 Solved 2 496ms Passed
Pipeline7 63 Solved 21 6.5s Failed
Pipeline7 64 Solved 31 8.4s Passed
Pipeline7 65 Solved 5 2.1s Passed
Pipeline7 66 Solved 182 34.7s Failed
Pipeline7 67 Solved 105 26.6s Failed
Pipeline7 68 Solved 56 9.3s Passed
Pipeline7 69 Solved 114 16.4s Passed
Pipeline7 70 Solved 22 5.2s Passed
Pipeline7 71 Solved 51 11.3s Passed
Pipeline7 72 Solved 12 3.5s Passed
Pipeline7 73 Solved 107 19.2s Passed
Pipeline7 74 Solved 3 449ms Passed
Pipeline7 75 Solved 6 775ms Passed
Pipeline7 76 Solved 8 1.4s Passed
Pipeline7 77 Solved 124 19.9s Passed
Pipeline7 78 Solved 6 924ms Passed
Pipeline7 79 Solved 23 4.5s Passed
Pipeline7 80 Solved 30 6.2s Passed
Pipeline7 81 Solved 6 1.5s Passed
Pipeline7 82 Solved 98 18.9s Passed
Pipeline7 83 Solved 37 6.2s Passed
Pipeline7 84 Solved 8 1.8s Passed
Pipeline7 85 Solved 120 17.5s Passed
PR run details
Solver Sample Status Via Time Relaxed DRC Error Delta
Pipeline9 1 Solved 0 (=best) 1.5s Passed
Pipeline9 2 Solved 24 (=best) 9.4s Passed
Pipeline9 3 Solved 14 (+2, worse) 5.5s Passed
Pipeline9 4 Solved 32 (+20, worse) 7.3s Passed
Pipeline9 5 Solved 3 (+1, worse) 1.9s Passed
Pipeline9 6 Solved 2 (=best) 2.1s Passed
Pipeline9 7 Solved 5 (+2, worse) 2.1s Passed
Pipeline9 8 Solved 17 (-2, better) 6.2s Passed
Pipeline9 9 Solved 13 (+4, worse) 3.7s Passed
Pipeline9 10 Solved 4 (=best) 2.9s Passed
Pipeline9 11 Solved 5 (+2, worse) 2.3s Passed
Pipeline9 12 Solved 4 (+2, worse) 2.5s Passed
Pipeline9 13 Solved 11 (-4, better) 3.8s Passed
Pipeline9 14 Solved 14 (+8, worse) 7.5s Passed
Pipeline9 15 Solved 2 (=best) 2.0s Passed
Pipeline9 16 Solved 1 (=best) 1.1s Passed
Pipeline9 17 Solved 0 (=best) 2.5s Passed
Pipeline9 18 Solved 34 (-4, better) 9.0s Passed
Pipeline9 19 Solved 55 (-14, better) 11.6s Passed
Pipeline9 20 Solved 44 (-2, better) 9.3s Passed
Pipeline9 21 Solved 79 (-8, better) 15.5s Passed
Pipeline9 22 Solved 36 (+4, worse) 8.4s Passed
Pipeline9 23 Solved 68 (-14, better) 12.7s Passed
Pipeline9 24 Solved 26 (-6, better) 8.2s Passed
Pipeline9 25 Solved 15 (=best) 4.7s Passed
Pipeline9 26 Solved 31 (-5, better) 7.9s Passed
Pipeline9 27 Solved 119 (+8, worse) 17.6s Passed
Pipeline9 28 Solved 7 (-1, better) 3.9s Passed
Pipeline9 29 Solved 41 (-5, better) 9.8s Passed
Pipeline9 30 Solved 11 (+2, worse) 5.6s Passed
Pipeline9 31 Solved 18 (-2, better) 6.4s Passed
Pipeline9 32 Solved 137 21.4s Passed
Pipeline9 33 Solved 0 (=best) 1.0s Passed
Pipeline9 34 Solved 7 (=best) 2.0s Passed
Pipeline9 35 Solved 38 (-6, better) 8.2s Passed
Pipeline9 36 Solved 2 (=best) 497ms Passed
Pipeline9 37 Solved 161 (+1, worse) 18.1s Passed
Pipeline9 38 Solved 11 (=best) 4.2s Passed
Pipeline9 39 Solved 46 (-15, better) 9.1s Passed
Pipeline9 40 Solved 18 (=best) 4.5s Passed
Pipeline9 41 Solved 44 (+2, worse) 8.9s Passed
Pipeline9 42 Solved 2 (=best) 1.2s Passed
Pipeline9 43 Solved 4 (+2, worse) 909ms Passed
Pipeline9 44 Solved 31 (-2, better) 5.9s Passed
Pipeline9 45 Solved 3 (=best) 662ms Passed
Pipeline9 46 Solved 12 (+4, worse) 1.6s Passed
Pipeline9 47 Solved 2 (-2, better) 1.4s Passed
Pipeline9 48 Solved 7 (+2, worse) 1.4s Passed
Pipeline9 49 Solved 112 16.6s Passed
Pipeline9 50 Solved 14 (-2, better) 4.3s Passed
Pipeline9 51 Solved 9 (+1, worse) 1.8s Passed
Pipeline9 52 Solved 56 8.9s Passed
Pipeline9 53 Solved 61 (+5, worse) 8.9s Passed
Pipeline9 54 Solved 92 (-6, better) 13.6s Passed
Pipeline9 55 Solved 86 (-20, better) 13.8s Passed
Pipeline9 56 Solved 53 (-7, better) 9.1s Passed
Pipeline9 57 Solved 50 8.1s Passed
Pipeline9 58 Solved 128 (+9, worse) 20.4s Failed
Pipeline9 59 Solved 36 (-2, better) 5.7s Passed
Pipeline9 60 Solved 64 (-6, better) 8.6s Passed
Pipeline9 61 Solved 87 (-5, better) 11.2s Passed
Pipeline9 62 Solved 2 (=best) 511ms Passed
Pipeline9 63 Solved 13 2.5s Passed
Pipeline9 64 Solved 31 (=best) 5.2s Passed
Pipeline9 65 Solved 5 (=best) 1.0s Passed
Pipeline9 66 Solved 157 (-21, better) 15.7s Passed
Pipeline9 67 Solved 103 (-34, better) 13.5s Passed
Pipeline9 68 Solved 52 (-4, better) 7.1s Passed
Pipeline9 69 Solved 108 (-6, better) 11.8s Passed
Pipeline9 70 Solved 18 (+2, worse) 3.1s Passed
Pipeline9 71 Solved 49 (-2, better) 8.0s Passed
Pipeline9 72 Solved 14 (+4, worse) 3.0s Passed
Pipeline9 73 Solved 95 (+11, worse) 11.5s Passed
Pipeline9 74 Solved 3 (=best) 408ms Passed
Pipeline9 75 Solved 4 (-2, better) 696ms Passed
Pipeline9 76 Solved 8 (=best) 941ms Passed
Pipeline9 77 Solved 114 (-10, better) 11.8s Passed
Pipeline9 78 Solved 6 (=best) 702ms Passed
Pipeline9 79 Solved 17 (-4, better) 2.9s Passed
Pipeline9 80 Solved 24 (-6, better) 4.2s Passed
Pipeline9 81 Solved 6 (=best) 1.3s Passed
Pipeline9 82 Solved 88 (-10, better) 12.1s Passed
Pipeline9 83 Solved 33 (-4, better) 3.4s Passed
Pipeline9 84 Solved 8 (+2, worse) 1.3s Passed
Pipeline9 85 Solved 115 (-5, better) 11.9s Passed

Workflow: View run
Artifact: https://github.com/tscircuit/tscircuit-autorouter/actions/runs/32506198166

@seveibar
seveibar merged commit 7eb035a into main Aug 21, 2026
24 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