docs(rust): refresh dictionary migration boundary

Document that the Rust dictionary-builder modules now own sample analysis,
training, and dictionary assembly, with the original C files retained only as
ABI/build shims. Remove the stale statement that only suffix-array
construction has migrated and keep the remaining C boundary focused on
compression orchestration, benchmark reporting, and format-specific CLI I/O.

Test Plan:
- git diff --cached --check
- make -C tests -j2 test-zstd (passed before this documentation-only commit)
This commit is contained in:
2026-07-18 19:56:57 +02:00
parent 23f3c6dea7
commit 57e3399930
+8 -7
View File
@@ -57,8 +57,10 @@ zstd ABI:
maintenance, sequence generation, and sequence consumption.
- Dictionary building
- `divsufsort` constructs the suffix array that drives the legacy `ZDICT`
trainer (`ZDICT_trainFromBuffer_legacy`). The sample analysis and
dictionary assembly in `zdict.c`, `cover.c`, and `fastcover.c` remain C.
trainer (`ZDICT_trainFromBuffer_legacy`); `dict_builder_zdict`,
`dict_builder_cover`, and `dict_builder_fastcover` own the sample analysis,
training, and dictionary assembly. The corresponding C translation units
are declaration-only ABI shims.
- Runtime support
- `threading` provides platform pthread wrappers required by zstd headers.
- `pool` implements the bounded worker pool used by multithreaded compression.
@@ -94,11 +96,10 @@ zstd ABI:
Rust parser through the `ZSTD_NOBENCH`-gated bridge in `zstdcli.c`.
The optimal block matcher, most high-level frame-compression orchestration,
dictionary-building except suffix-array construction, benchmark orchestration
and reporting (`benchzstd`), and several format-specific CLI I/O paths are
still C. They must move before the rewrite is complete. Keeping that boundary
explicit prevents a passing hybrid build from being mistaken for the final
all-Rust result.
benchmark orchestration and reporting (`benchzstd`), and several
format-specific CLI I/O paths are still C. They must move before the rewrite
is complete. Keeping that boundary explicit prevents a passing hybrid build
from being mistaken for the final all-Rust result.
## Legacy decoding