You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a tracking issue for making stateful Schemes in the compressor easier to utilize and work with.
Motivation
There are cases where we can define better Schemes at runtime with more information. For example, we might want to pre-train an FSST compressor and then use that table for all of the arrays we want to compress (instead of training them every single time).
Design
TODO not super clear yet.
Steps
Initial implementation
Documentation
Public API stabilization
Unresolved questions
What is the best way to do this???
For Stateful Schemes, do we need to accept Arc<Scheme>? And should we update Scheme to look more like our VTables? Is that even better?
Saw ~10x on the isolated FSST compression path and ~21% end-to-end on a streaming insert workload. Using the Box::leak workaround for now per Connor's suggestion. Happy to help when the design for stateful schemes is ready.
Activity
[-]Stateful Schemes (what's the best way to do this?)[/-][+]Tracking Issue: Stateful `Scheme`s[/+]connortsui20 commentedon Jun 15, 2026
@tomsanbear I'm moving this to a dedicated tracking issue:
perf(alp): avoid per-combination allocations when searching exponents (…