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:
+2
-1
@@ -33,6 +33,7 @@ RUST_SOURCES := $(RUST_MANIFEST) $(RUST_DIR)/Cargo.lock \
|
||||
$(shell find $(RUST_DIR)/src -type f -name '*.rs' -print)
|
||||
RUST_CLI_SOURCES := $(RUST_CLI_MANIFEST) $(RUST_CLI_DIR)/Cargo.lock \
|
||||
$(RUST_CLI_DIR)/src/lib.rs $(RUST_DIR)/src/zstd_cli.rs \
|
||||
$(RUST_DIR)/src/benchzstd.rs \
|
||||
$(RUST_DIR)/src/fileio_prefs.rs \
|
||||
$(RUST_DIR)/src/dibio.rs \
|
||||
$(RUST_DIR)/src/util.rs \
|
||||
@@ -231,7 +232,7 @@ ZSTDLIB_LOCAL_SRC = $(notdir $(ZSTDLIB_FULL_SRC))
|
||||
ZSTDLIB_LOCAL_OBJ0 := $(ZSTDLIB_LOCAL_SRC:.c=.o)
|
||||
ZSTDLIB_LOCAL_OBJ := $(ZSTDLIB_LOCAL_OBJ0:.S=.o)
|
||||
|
||||
ZSTD_CLI_SRC := $(sort $(wildcard *.c))
|
||||
ZSTD_CLI_SRC := $(filter-out benchzstd.c,$(sort $(wildcard *.c)))
|
||||
ZSTD_CLI_OBJ := $(ZSTD_CLI_SRC:.c=.o)
|
||||
|
||||
ZSTD_ALL_SRC = $(ZSTDLIB_LOCAL_SRC) $(ZSTD_CLI_SRC)
|
||||
|
||||
Reference in New Issue
Block a user