Skip to content

Faster eulerian score#771

Merged
eyal0 merged 10 commits intopcb2gcode:masterfrom
eyal0:faster_eulerian_score
Feb 28, 2026
Merged

Faster eulerian score#771
eyal0 merged 10 commits intopcb2gcode:masterfrom
eyal0:faster_eulerian_score

Conversation

@eyal0
Copy link
Copy Markdown
Contributor

@eyal0 eyal0 commented Feb 25, 2026

The Eulerian path algorithm, when trying to find which bidirectional paths to assign a direction to, has to compute the scores of all possibilities. This is very slow. Rather than do that, we can keep a cache of the scores that we know about so far. We can also keep a sorted tree of those scores so that finding the path with the best score is quick.

This fixes #769

@eyal0 eyal0 force-pushed the faster_eulerian_score branch from 221c4c3 to ee208b1 Compare February 26, 2026 01:19
@eyal0 eyal0 force-pushed the faster_eulerian_score branch from ee208b1 to e14db88 Compare February 27, 2026 20:06
@eyal0 eyal0 force-pushed the faster_eulerian_score branch from e14db88 to 0a4af17 Compare February 27, 2026 20:40
@eyal0 eyal0 force-pushed the faster_eulerian_score branch from 0a4af17 to cfdc3c8 Compare February 27, 2026 23:41
@eyal0 eyal0 merged commit e45a6df into pcb2gcode:master Feb 28, 2026
13 checks passed
@eyal0 eyal0 deleted the faster_eulerian_score branch February 28, 2026 02:45
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.

Lock-up / infinite loop in latest version, release version working

1 participant