day 23 optimize
commit2e7006389647b742e872c6a8c3fd6382209f1550
authorEric Blake <eblake@redhat.com>
Fri, 12 Jan 2024 22:57:39 +0000 (12 16:57 -0600)
committerEric Blake <eblake@redhat.com>
Sat, 13 Jan 2024 19:33:50 +0000 (13 13:33 -0600)
treea9808d0b5511cb89fb0d564a403a57e61a0d2665
parentfd9d9568ffde831156a527bd42eba246230782a5
day 23 optimize

Add verbose mode to see progress, and approximately how many times
travel() is called.  Reduce runtime from >10m to 90s with a heuristic
learned from the megathread: any perimeter node (one with fewer than 4
neighbors) is a pinch point; traveling backwards between perimeter
nodes will only ever result in a dead end, so leave those directional.
Prunes work from 102M down to 14.7M calls to travel().
2023/day23.m4