Summary
The current dict_builder feature implements the COVER algorithm but lacks the FastCOVER variant and dictionary finalization (adding zstd header with entropy tables).
C reference implementation (lib/dictBuilder/)
FastCOVER (fastcover.c)
- Faster alternative to COVER using frequency array instead of suffix array
- Parameter
f: frequency array size (0 < f ≤ 31)
- Parameter
accel: acceleration factor (1-10, higher = faster, less accurate)
- Same output quality for ~10x less computation
Dictionary finalization (zdict.c)
ZDICT_finalizeDictionary() — adds zstd header to raw content dictionary
- Header contains: magic number, Huffman table, FSE tables, offset history
- Result: full zstd dictionary format that enables entropy table sharing
Optimization functions
ZDICT_optimizeTrainFromBuffer_cover() — grid search over k,d parameters
ZDICT_optimizeTrainFromBuffer_fastCover() — same for FastCOVER
- Multi-threaded optimization via
nbThreads parameter
Current Rust state
dictionary/cover.rs — COVER algorithm implemented
dictionary/frequency.rs and reservoir.rs — supporting structures
- No FastCOVER variant
- No dictionary finalization (only raw content output)
- No parameter optimization
What needs to be implemented
- FastCOVER algorithm — frequency-based alternative to COVER
- Dictionary finalization — add zstd header (magic + entropy tables + content)
- Parameter optimization — grid search over k,d,f parameters
- Configurable parameters — expose k, d, f, accel, splitPoint
Acceptance criteria
Time estimate
3d
Summary
The current
dict_builderfeature implements the COVER algorithm but lacks the FastCOVER variant and dictionary finalization (adding zstd header with entropy tables).C reference implementation (lib/dictBuilder/)
FastCOVER (fastcover.c)
f: frequency array size (0 < f ≤ 31)accel: acceleration factor (1-10, higher = faster, less accurate)Dictionary finalization (zdict.c)
ZDICT_finalizeDictionary()— adds zstd header to raw content dictionaryOptimization functions
ZDICT_optimizeTrainFromBuffer_cover()— grid search over k,d parametersZDICT_optimizeTrainFromBuffer_fastCover()— same for FastCOVERnbThreadsparameterCurrent Rust state
dictionary/cover.rs— COVER algorithm implementeddictionary/frequency.rsandreservoir.rs— supporting structuresWhat needs to be implemented
Acceptance criteria
Time estimate
3d