Repository navigation
What's new
- Integer arena in the solver (free for existing callers): node names are interned to dense integer indices once and the hot loops run over slices instead of hash-map lookups, with the priority-queue entries in a single backing slab. Single-destination solves get roughly twice as fast with about half the allocations, and no caller changes are needed.
- New opt-in reusable graph/workspace API: intern the network into an immutable integer arena once, then reuse per-destination buffers. A full multi-destination assignment is about 11x faster than solving each destination from scratch, and allocation-free once the workspace is warm. The interned graph is immutable and shareable across threads/goroutines, with a per-thread workspace.
Also backward compatible, no breaking changes.
For the more information see the reference: #4