MariesWiki
MariesLib · Enhancement

Cache System

Design notes Updated 22 Aug 2026 1 min read

and that's actually where MarieLib becomes really valuable long term. Because right now the pipeline in Nourished works but it was built for one use case. As you generalize it and multiple mods are hammering it, you'll naturally find the bottlenecks and optimize them once in MarieLib and every mod benefits instantly.

  • The things that will matter most performance-wise:

Pipeline — stage short-circuiting, so once confidence is high enough it stops evaluating further stages instead of running all of them

Cache — BoundedLRU is already there but cache invalidation strategy matters a lot, especially on world load and resource reload

Threading — the scanner right now is synchronous, eventually you want it off the main thread for large item sets, that's a MarieLib concern not a Nourished concern

Memory — FerriteCore style block state deduplication but for classification results, so 500 mods with 100 food items each don't each get their own result objects

The better you make those four things in MarieLib, the faster every mod built on it becomes for free. Nourished gets faster, ProjectE Extended gets faster, MariePerfTools gets faster — all from one place.

More MariesLib enhancements