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

3
src/storage/mod.rs Normal file
View File

@@ -0,0 +1,3 @@
mod skill_store;
pub(crate) use skill_store::SkillStore;