Skip to content

v0.0.5 Integer-arena solver and multi-destination API

Latest

Choose a tag to compare

@LdDl LdDl released this 03 Aug 21:31
c4ad6e3

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