feat(rust): port optimal binary-tree updates
Move the binary-tree table maintenance shared by optimal compression strategies into Rust. A small C projection preserves the private match-state boundary; the dynamic-programming parser and match selection remain C-owned for now. The Rust implementation covers prefix and external-dictionary tree updates and preserves the optional C predictor path. The component map now distinguishes this migrated tree layer from the remaining optimal parser. Test Plan: - cargo test --all-targets - cargo test --target i686-unknown-linux-gnu --all-targets - cargo clippy && cargo clippy --benches && cargo clippy --tests - cargo +nightly fmt - make -B -C tests -j2 fuzzer zstreamtest invalidDictionaries - ./tests/fuzzer -s5346 -i1 --no-big-tests - ./tests/zstreamtest -i3000 -s334462 - ./tests/invalidDictionaries - make -B -C tests fuzzer32 MOREFLAGS=-DZSTD_C_PREDICT - ./tests/fuzzer32 -s5346 -i1 --no-big-tests - byte-compare C and Rust-control CLI output at levels 13, 16, 19, and 22 for random, patterned, zero, and dictionary inputs with and without ZSTD_C_PREDICT Refs: rust/README.md
This commit is contained in:
@@ -35,6 +35,8 @@ zstd ABI:
|
||||
fast block match finders, including attached and external dictionary paths.
|
||||
- `zstd_lazy` implements greedy, lazy, lazy2, and binary-tree matching,
|
||||
including row-based and dictionary search variants.
|
||||
- `zstd_opt_tree` maintains the binary-tree index used by optimal matching;
|
||||
the dynamic-programming optimal parser itself remains in C for now.
|
||||
- Runtime support
|
||||
- `threading` provides platform pthread wrappers required by zstd headers.
|
||||
- `pool` implements the bounded worker pool used by multithreaded compression.
|
||||
|
||||
Reference in New Issue
Block a user