Skip to content

Introduce HighDensityA03 (improved version of HighDensityA02)#663

Merged
seveibar merged 6 commits intomainfrom
a03
Mar 14, 2026
Merged

Introduce HighDensityA03 (improved version of HighDensityA02)#663
seveibar merged 6 commits intomainfrom
a03

Conversation

@seveibar
Copy link
Copy Markdown
Contributor

No description provided.

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 14, 2026

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

Project Deployment Actions Updated (UTC)
capacity-node-autorouter Ready Ready Preview, Comment Mar 14, 2026 8:15pm

Request Review

@tscircuitbot
Copy link
Copy Markdown

🏃 Benchmark This PR

Run benchmarks by commenting on this PR:

/benchmark [solver-name|all] [scenario-limit] --concurrency <n> --effort <n>

Examples:

  • /benchmark -> AutoroutingPipelineSolver, all scenarios (default concurrency uses the benchmark runner CPU count)
  • /benchmark AutoroutingPipelineSolver -> one solver, all scenarios
  • /benchmark all 20 -> all solvers, first 20 scenarios
  • /benchmark AutoroutingPipelineSolver 20 --concurrency 8 -> one solver, 20 scenarios, 8 workers
  • /benchmark AutoroutingPipelineSolver 20 --effort 2 -> one solver, 20 scenarios, 2x effort

Any PR whose title contains [BENCHMARK TEST] will automatically run the benchmark workflow on PR updates.

@seveibar
Copy link
Copy Markdown
Contributor Author

/benchmark

@tscircuitbot
Copy link
Copy Markdown

tscircuitbot commented Mar 14, 2026

🏃 Autorouting Benchmark Results

📊 PR Results
Benchmark Results (1x effort)

+---------------------------+----------------+--------------------+-----------+----------+----------+
| Solver                    | Completed %    | Relaxed DRC Pass % | Timed Out | P50 Time | P95 Time |
+---------------------------+----------------+--------------------+-----------+----------+----------+
| AutoroutingPipelineSolver | 82.9% (🕒6.7%) | 1.9% (🕒6.7%)      | 7/105     | 6.9s     | 65.8s    |
+---------------------------+----------------+--------------------+-----------+----------+----------+

Scenarios: 105
📊 Main Branch Results
Benchmark Results (1x effort)

+---------------------------+----------------+--------------------+-----------+----------+----------+
| Solver                    | Completed %    | Relaxed DRC Pass % | Timed Out | P50 Time | P95 Time |
+---------------------------+----------------+--------------------+-----------+----------+----------+
| AutoroutingPipelineSolver | 87.6% (🕒4.8%) | 1.9% (🕒4.8%)      | 5/105     | 7.9s     | 74.2s    |
+---------------------------+----------------+--------------------+-----------+----------+----------+

Scenarios: 105

📦 Artifact: https://github.com/tscircuit/tscircuit-autorouter/actions/runs/23082987508

hyperParameters
})
solver.MAX_ITERATIONS = 20_000_000 * this.effort
solver.MAX_ITERATIONS *= this.effort
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critical bug: MAX_ITERATIONS multiplication operator changed from assignment to compound assignment.

The old code was:

solver.MAX_ITERATIONS = 20_000_000 * this.effort

The new code is:

solver.MAX_ITERATIONS *= this.effort

This changes the behavior from setting an explicit value to multiplying whatever default value HighDensityA03Solver has for MAX_ITERATIONS. If the default is not 20_000_000, this will cause different iteration limits and potentially affect solver performance or correctness.

Fix: Change to explicit assignment like the A01 solver above it, or verify that multiplying the default value is intentional:

solver.MAX_ITERATIONS = 20_000_000 * this.effort
Suggested change
solver.MAX_ITERATIONS *= this.effort
solver.MAX_ITERATIONS = 20_000_000 * this.effort

Spotted by Graphite

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

@seveibar
Copy link
Copy Markdown
Contributor Author

/benchmark

@tscircuitbot
Copy link
Copy Markdown

tscircuitbot commented Mar 14, 2026

🏃 Autorouting Benchmark Results

📊 Main Branch Results
Benchmark Results (1x effort)

+---------------------------+----------------+--------------------+-----------+----------+----------+
| Solver                    | Completed %    | Relaxed DRC Pass % | Timed Out | P50 Time | P95 Time |
+---------------------------+----------------+--------------------+-----------+----------+----------+
| AutoroutingPipelineSolver | 87.6% (🕒4.8%) | 1.9% (🕒4.8%)      | 5/105     | 7.1s     | 68.8s    |
+---------------------------+----------------+--------------------+-----------+----------+----------+

Scenarios: 105
📊 PR Results
Benchmark Results (1x effort)

+---------------------------+-----------------+--------------------+-----------+----------+----------+
| Solver                    | Completed %     | Relaxed DRC Pass % | Timed Out | P50 Time | P95 Time |
+---------------------------+-----------------+--------------------+-----------+----------+----------+
| AutoroutingPipelineSolver | 84.8% (🕒12.4%) | 1.9% (🕒12.4%)     | 13/105    | 7.4s     | 65.1s    |
+---------------------------+-----------------+--------------------+-----------+----------+----------+

Scenarios: 105

📦 Artifact: https://github.com/tscircuit/tscircuit-autorouter/actions/runs/23095138474

@seveibar
Copy link
Copy Markdown
Contributor Author

/benchmark

@tscircuitbot
Copy link
Copy Markdown

tscircuitbot commented Mar 14, 2026

🏃 Autorouting Benchmark Results

📊 Main Branch Results
Benchmark Results (1x effort)

+---------------------------+----------------+--------------------+-----------+----------+----------+
| Solver                    | Completed %    | Relaxed DRC Pass % | Timed Out | P50 Time | P95 Time |
+---------------------------+----------------+--------------------+-----------+----------+----------+
| AutoroutingPipelineSolver | 87.6% (🕒4.8%) | 1.9% (🕒4.8%)      | 5/105     | 7.1s     | 68.8s    |
+---------------------------+----------------+--------------------+-----------+----------+----------+

Scenarios: 105
📊 PR Results
Benchmark Results (1x effort)

+---------------------------+-----------------+--------------------+-----------+----------+----------+
| Solver                    | Completed %     | Relaxed DRC Pass % | Timed Out | P50 Time | P95 Time |
+---------------------------+-----------------+--------------------+-----------+----------+----------+
| AutoroutingPipelineSolver | 86.7% (🕒10.5%) | 1.9% (🕒10.5%)     | 11/105    | 7.4s     | 66.9s    |
+---------------------------+-----------------+--------------------+-----------+----------+----------+

Scenarios: 105

📦 Artifact: https://github.com/tscircuit/tscircuit-autorouter/actions/runs/23095245386

@seveibar seveibar merged commit 4f6bd68 into main Mar 14, 2026
13 checks passed
@tscircuitbot
Copy link
Copy Markdown


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