diff --git a/src/uu/du/benches/du_bench.rs b/src/uu/du/benches/du_bench.rs index 8a2d29246b1..5ea45ed9c40 100644 --- a/src/uu/du/benches/du_bench.rs +++ b/src/uu/du/benches/du_bench.rs @@ -77,9 +77,17 @@ fn du_all_wide_tree(bencher: Bencher, (total_files, total_dirs): (usize, usize)) /// Benchmark du on deep directory structures #[divan::bench(args = [(100, 3)])] fn du_deep_tree(bencher: Bencher, (depth, files_per_level): (usize, usize)) { - let temp_dir = TempDir::new().unwrap(); - fs_tree::create_deep_tree(temp_dir.path(), depth, files_per_level); - bench_du_with_args(bencher, &temp_dir, &[]); + bencher + .with_inputs(|| { + let temp_dir = TempDir::new().unwrap(); + fs_tree::create_deep_tree(temp_dir.path(), depth, files_per_level); + 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 -s (summarize) on balanced tree diff --git a/src/uu/numfmt/benches/numfmt_bench.rs b/src/uu/numfmt/benches/numfmt_bench.rs index d75bf4ad180..561b650935a 100644 --- a/src/uu/numfmt/benches/numfmt_bench.rs +++ b/src/uu/numfmt/benches/numfmt_bench.rs @@ -63,8 +63,12 @@ fn numfmt_from_si(bencher: Bencher, count: usize) { /// Benchmark large numbers with SI formatting #[divan::bench(args = [10_000])] fn numfmt_large_numbers_si(bencher: Bencher, count: usize) { - // Generate larger numbers (millions to billions range) - let numbers: Vec = (1..=count).map(|n| (n * 1_000_000).to_string()).collect(); + // Generate numbers that all produce uniform SI output lengths (all in 1-9M range) + // This avoids variance from variable output string lengths + let numbers: Vec = (1..=count) + .map(|n| ((n % 9) + 1) * 1_000_000) + .map(|n| n.to_string()) + .collect(); let mut args = vec!["--to=si"]; let number_refs: Vec<&str> = numbers.iter().map(|s| s.as_str()).collect(); args.extend(number_refs);