refactor(batch): replace HashMap<Index, Skill> with dense SkillStore

SkillStore is a Vec<Skill>-backed dense store with a parallel present
mask, indexed directly by Index.0. Eliminates per-iteration hashing
in the within-slice convergence loop; O(1) array lookup replaces O(1)
amortised hash lookup with better cache behaviour.

Iteration order is now ascending-by-Index (was arbitrary for HashMap);
EP fixed point is order-independent so posteriors are unchanged.

Part of T0 engine redesign.
This commit is contained in:
2026-04-24 07:08:20 +02:00
parent 709ece335f
commit 8f60258dba
5 changed files with 239 additions and 104 deletions

View File

@@ -18,6 +18,7 @@ mod history;
mod matrix;
mod message;
pub mod player;
pub(crate) mod storage;
pub use drift::{ConstantDrift, Drift};
pub use error::InferenceError;