feat(bench): port benchzstd orchestration to Rust

Replace the program archive's C benchmark orchestration with the complete
Rust port while retaining the public benchzstd.h ABI and result/error
contracts. Include the module only in full CLI archives and remove only
benchzstd.c from the program source set, leaving C test targets on their
existing implementation.

Test Plan:
- cargo test --manifest-path /tmp/zstd-benchzstd.IHWpLD/Cargo.toml (6 passed)
- cargo check and cargo clippy --all-targets in the focused harness (passed)
- standalone release archive build and BMK_* symbol inspection (passed)
- make -C programs zstd (passed before concurrent CLI edits)
- make -C tests -B paramgrill (passed)
- native synthetic, multi-file, dictionary, and invalid-frame benchmark smoke tests (passed)
This commit is contained in:
2026-07-18 01:47:33 +02:00
parent b6611f9f90
commit 96a0eabdb9
3 changed files with 1801 additions and 1 deletions
+3
View File
@@ -1,5 +1,8 @@
#[path = "../../src/benchfn.rs"]
mod benchfn;
#[cfg(feature = "cli")]
#[path = "../../src/benchzstd.rs"]
mod benchzstd;
#[path = "../../src/datagen.rs"]
mod datagen;
#[cfg(feature = "cli")]