Expand description
A data structure for the solver’s bucket sort layers
This module implements the hash::KeyValueBucketArray
and related types,
forming the basis of our solver’s temporary storage. The basic key/value
bucket array is a hash table customized with a fixed capacity and minimal
data types. It’s organized in a struct-of-arrays fashion, keeping bucket
counts in state memory alongside mutable references to external key and
value memories.
For performance and memory efficiency, the hash table layer is built on
a manual memory management layer. Individual bucket arrays are backed
by mem::BucketArrayMemory
. Layouts defined at compile time can be
marked using the mem::Uninit
trait and constructed from a single large
buffer of uninitialized reusable memory.