From 6dac4d407483202a80e142d1e08d9bf1d4fc128b Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sat, 17 Jan 2026 11:33:24 +0100 Subject: [PATCH] bench: try to remove more variances (#10277) --- src/uu/du/benches/du_bench.rs | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/uu/du/benches/du_bench.rs b/src/uu/du/benches/du_bench.rs index 5ea45ed9c..0b63ce9a2 100644 --- a/src/uu/du/benches/du_bench.rs +++ b/src/uu/du/benches/du_bench.rs @@ -61,17 +61,33 @@ fn du_human_balanced_tree( /// Benchmark du on wide directory structures (many files/dirs, shallow) #[divan::bench(args = [(5000, 500)])] fn du_wide_tree(bencher: Bencher, (total_files, total_dirs): (usize, usize)) { - let temp_dir = TempDir::new().unwrap(); - fs_tree::create_wide_tree(temp_dir.path(), total_files, total_dirs); - bench_du_with_args(bencher, &temp_dir, &[]); + bencher + .with_inputs(|| { + let temp_dir = TempDir::new().unwrap(); + fs_tree::create_wide_tree(temp_dir.path(), total_files, total_dirs); + temp_dir + }) + .bench_values(|temp_dir| { + let temp_path_str = temp_dir.path().to_str().unwrap(); + let args = vec![temp_path_str]; + black_box(run_util_function(uumain, &args)); + }); } /// Benchmark du -a on wide directory structures #[divan::bench(args = [(5000, 500)])] fn du_all_wide_tree(bencher: Bencher, (total_files, total_dirs): (usize, usize)) { - let temp_dir = TempDir::new().unwrap(); - fs_tree::create_wide_tree(temp_dir.path(), total_files, total_dirs); - bench_du_with_args(bencher, &temp_dir, &["-a"]); + bencher + .with_inputs(|| { + let temp_dir = TempDir::new().unwrap(); + fs_tree::create_wide_tree(temp_dir.path(), total_files, total_dirs); + temp_dir + }) + .bench_values(|temp_dir| { + let temp_path_str = temp_dir.path().to_str().unwrap(); + let args = vec![temp_path_str, "-a"]; + black_box(run_util_function(uumain, &args)); + }); } /// Benchmark du on deep directory structures