diff --git a/src/uu/ls/benches/ls_bench.rs b/src/uu/ls/benches/ls_bench.rs index 1153d94de..1d4508f9a 100644 --- a/src/uu/ls/benches/ls_bench.rs +++ b/src/uu/ls/benches/ls_bench.rs @@ -145,7 +145,7 @@ fn create_mixed_tree(base_dir: &Path) -> std::io::Result<()> { } /// Benchmark ls -R on balanced directory tree -#[divan::bench(args = [(3, 4, 8), (4, 3, 6), (5, 2, 10)])] +#[divan::bench(args = [(5, 2, 10)])] fn ls_recursive_balanced_tree( bencher: Bencher, (depth, dirs_per_level, files_per_dir): (usize, usize, usize), @@ -156,7 +156,7 @@ fn ls_recursive_balanced_tree( } /// Benchmark ls -R -a -l on balanced directory tree (tests PR #8728 optimization) -#[divan::bench(args = [(3, 4, 8), (4, 3, 6), (5, 2, 10)])] +#[divan::bench(args = [(5, 2, 10)])] fn ls_recursive_long_all_balanced_tree( bencher: Bencher, (depth, dirs_per_level, files_per_dir): (usize, usize, usize), @@ -167,7 +167,7 @@ fn ls_recursive_long_all_balanced_tree( } /// Benchmark ls -R on wide directory structures -#[divan::bench(args = [(1000, 200), (5000, 500), (10000, 1000)])] +#[divan::bench(args = [(10000, 1000)])] fn ls_recursive_wide_tree(bencher: Bencher, (total_files, total_dirs): (usize, usize)) { let temp_dir = TempDir::new().unwrap(); create_wide_tree(temp_dir.path(), total_files, total_dirs).unwrap(); @@ -175,7 +175,7 @@ fn ls_recursive_wide_tree(bencher: Bencher, (total_files, total_dirs): (usize, u } /// Benchmark ls -R -a -l on wide directory structures -#[divan::bench(args = [(1000, 200), (5000, 500)])] +#[divan::bench(args = [(5000, 500)])] fn ls_recursive_long_all_wide_tree(bencher: Bencher, (total_files, total_dirs): (usize, usize)) { let temp_dir = TempDir::new().unwrap(); create_wide_tree(temp_dir.path(), total_files, total_dirs).unwrap(); @@ -183,7 +183,7 @@ fn ls_recursive_long_all_wide_tree(bencher: Bencher, (total_files, total_dirs): } /// Benchmark ls -R on deep directory structures -#[divan::bench(args = [(20, 3), (50, 2), (100, 1)])] +#[divan::bench(args = [(100, 1)])] fn ls_recursive_deep_tree(bencher: Bencher, (depth, files_per_level): (usize, usize)) { let temp_dir = TempDir::new().unwrap(); create_deep_tree(temp_dir.path(), depth, files_per_level).unwrap(); @@ -191,7 +191,7 @@ fn ls_recursive_deep_tree(bencher: Bencher, (depth, files_per_level): (usize, us } /// Benchmark ls -R -a -l on deep directory structures -#[divan::bench(args = [(20, 3), (50, 2)])] +#[divan::bench(args = [(50, 2)])] fn ls_recursive_long_all_deep_tree(bencher: Bencher, (depth, files_per_level): (usize, usize)) { let temp_dir = TempDir::new().unwrap(); create_deep_tree(temp_dir.path(), depth, files_per_level).unwrap(); diff --git a/src/uu/numfmt/benches/numfmt_bench.rs b/src/uu/numfmt/benches/numfmt_bench.rs index d72bfa3f7..f136b6f6e 100644 --- a/src/uu/numfmt/benches/numfmt_bench.rs +++ b/src/uu/numfmt/benches/numfmt_bench.rs @@ -79,7 +79,7 @@ fn numfmt_large_numbers_si(bencher: Bencher, count: usize) { } /// Benchmark different padding widths -#[divan::bench(args = [(1_000_000, 5), (1_000_000, 50)])] +#[divan::bench(args = [(1_000_000, 50)])] fn numfmt_padding(bencher: Bencher, (count, padding): (usize, usize)) { let data = text_data::generate_numbers(count); let file_path = setup_test_file(data.as_bytes()); @@ -95,7 +95,7 @@ fn numfmt_padding(bencher: Bencher, (count, padding): (usize, usize)) { } /// Benchmark round modes with SI formatting -#[divan::bench(args = [("up", 100_000), ("down", 1_000_000), ("towards-zero", 1_000_000)])] +#[divan::bench(args = [("up", 1_000_000), ("down", 1_000_000), ("towards-zero", 1_000_000)])] fn numfmt_round_modes(bencher: Bencher, (round_mode, count): (&str, usize)) { let data = text_data::generate_numbers(count); let file_path = setup_test_file(data.as_bytes()); diff --git a/src/uu/sort/benches/sort_bench.rs b/src/uu/sort/benches/sort_bench.rs index ce1eb839f..93e970516 100644 --- a/src/uu/sort/benches/sort_bench.rs +++ b/src/uu/sort/benches/sort_bench.rs @@ -8,7 +8,7 @@ use uu_sort::uumain; use uucore::benchmark::{run_util_function, setup_test_file, text_data}; /// Benchmark sorting ASCII-only data -#[divan::bench(args = [100_000, 500_000])] +#[divan::bench(args = [500_000])] fn sort_ascii_only(bencher: Bencher, num_lines: usize) { let data = text_data::generate_ascii_data(num_lines); let file_path = setup_test_file(&data); @@ -19,7 +19,7 @@ fn sort_ascii_only(bencher: Bencher, num_lines: usize) { } /// Benchmark sorting accented/non-ASCII data -#[divan::bench(args = [100_000, 500_000])] +#[divan::bench(args = [500_000])] fn sort_accented_data(bencher: Bencher, num_lines: usize) { let data = text_data::generate_accented_data(num_lines); let file_path = setup_test_file(&data); @@ -30,7 +30,7 @@ fn sort_accented_data(bencher: Bencher, num_lines: usize) { } /// Benchmark sorting mixed ASCII/non-ASCII data -#[divan::bench(args = [100_000, 500_000])] +#[divan::bench(args = [500_000])] fn sort_mixed_data(bencher: Bencher, num_lines: usize) { let data = text_data::generate_mixed_data(num_lines); let file_path = setup_test_file(&data); @@ -41,7 +41,7 @@ fn sort_mixed_data(bencher: Bencher, num_lines: usize) { } /// Benchmark case-sensitive sorting with mixed case data -#[divan::bench(args = [100_000, 500_000])] +#[divan::bench(args = [500_000])] fn sort_case_sensitive(bencher: Bencher, num_lines: usize) { let data = text_data::generate_case_sensitive_data(num_lines); let file_path = setup_test_file(&data); @@ -52,7 +52,7 @@ fn sort_case_sensitive(bencher: Bencher, num_lines: usize) { } /// Benchmark case-insensitive sorting (fold case) -#[divan::bench(args = [100_000, 500_000])] +#[divan::bench(args = [500_000])] fn sort_case_insensitive(bencher: Bencher, num_lines: usize) { let data = text_data::generate_case_sensitive_data(num_lines); let file_path = setup_test_file(&data); @@ -66,7 +66,7 @@ fn sort_case_insensitive(bencher: Bencher, num_lines: usize) { } /// Benchmark dictionary order sorting (only blanks and alphanumeric) -#[divan::bench(args = [100_000, 500_000])] +#[divan::bench(args = [500_000])] fn sort_dictionary_order(bencher: Bencher, num_lines: usize) { let data = text_data::generate_mixed_data(num_lines); let file_path = setup_test_file(&data); @@ -80,7 +80,7 @@ fn sort_dictionary_order(bencher: Bencher, num_lines: usize) { } /// Benchmark numeric sorting with mixed data -#[divan::bench(args = [100_000, 500_000])] +#[divan::bench(args = [500_000])] fn sort_numeric(bencher: Bencher, num_lines: usize) { let mut data = Vec::new(); @@ -101,7 +101,7 @@ fn sort_numeric(bencher: Bencher, num_lines: usize) { } /// Benchmark reverse sorting with locale-aware data -#[divan::bench(args = [100_000, 500_000])] +#[divan::bench(args = [500_000])] fn sort_reverse_locale(bencher: Bencher, num_lines: usize) { let data = text_data::generate_accented_data(num_lines); let file_path = setup_test_file(&data); @@ -115,7 +115,7 @@ fn sort_reverse_locale(bencher: Bencher, num_lines: usize) { } /// Benchmark sorting with specific key field -#[divan::bench(args = [100_000, 500_000])] +#[divan::bench(args = [500_000])] fn sort_key_field(bencher: Bencher, num_lines: usize) { let mut data = Vec::new(); @@ -140,7 +140,7 @@ fn sort_key_field(bencher: Bencher, num_lines: usize) { } /// Benchmark unique sorting with locale-aware data -#[divan::bench(args = [100_000, 500_000])] +#[divan::bench(args = [500_000])] fn sort_unique_locale(bencher: Bencher, num_lines: usize) { let data = text_data::generate_accented_data(num_lines); let file_path = setup_test_file(&data); diff --git a/src/uu/tsort/benches/tsort_bench.rs b/src/uu/tsort/benches/tsort_bench.rs index 157f2a0c4..167f08e14 100644 --- a/src/uu/tsort/benches/tsort_bench.rs +++ b/src/uu/tsort/benches/tsort_bench.rs @@ -136,7 +136,7 @@ fn generate_input_parsing_heavy(num_edges: usize) -> Vec { /// Benchmark linear chain graphs of different sizes /// This tests the performance improvements mentioned in PR #8694 -#[divan::bench(args = [1_000, 10_000, 100_000, 1_000_000])] +#[divan::bench(args = [1_000_000])] fn tsort_linear_chain(bencher: Bencher, num_nodes: usize) { let data = generate_linear_chain(num_nodes); let file_path = setup_test_file(&data); @@ -148,7 +148,7 @@ fn tsort_linear_chain(bencher: Bencher, num_nodes: usize) { } /// Benchmark tree-like DAG structures -#[divan::bench(args = [(4, 3), (5, 3), (6, 2), (7, 2)])] +#[divan::bench(args = [(7, 2)])] fn tsort_tree_dag(bencher: Bencher, (depth, branching): (usize, usize)) { let data = generate_tree_dag(depth, branching); let file_path = setup_test_file(&data); @@ -160,7 +160,7 @@ fn tsort_tree_dag(bencher: Bencher, (depth, branching): (usize, usize)) { } /// Benchmark complex DAG with cross-dependencies -#[divan::bench(args = [1_000, 5_000, 10_000, 50_000])] +#[divan::bench(args = [50_000])] fn tsort_complex_dag(bencher: Bencher, num_nodes: usize) { let data = generate_complex_dag(num_nodes); let file_path = setup_test_file(&data); @@ -173,7 +173,7 @@ fn tsort_complex_dag(bencher: Bencher, num_nodes: usize) { /// Benchmark wide DAG with many parallel chains /// This should stress the hashmap optimizations from PR #8694 -#[divan::bench(args = [10_000, 50_000, 100_000])] +#[divan::bench(args = [100_000])] fn tsort_wide_dag(bencher: Bencher, num_nodes: usize) { let data = generate_wide_dag(num_nodes); let file_path = setup_test_file(&data); @@ -185,7 +185,7 @@ fn tsort_wide_dag(bencher: Bencher, num_nodes: usize) { } /// Benchmark input parsing vs computation by using files with different edge densities -#[divan::bench(args = [10_000, 50_000])] +#[divan::bench(args = [50_000])] fn tsort_input_parsing_heavy(bencher: Bencher, num_edges: usize) { let data = generate_input_parsing_heavy(num_edges); let file_path = setup_test_file(&data); diff --git a/src/uu/wc/benches/wc_bench.rs b/src/uu/wc/benches/wc_bench.rs index fed175028..8ac2cad2d 100644 --- a/src/uu/wc/benches/wc_bench.rs +++ b/src/uu/wc/benches/wc_bench.rs @@ -8,7 +8,7 @@ use uu_wc::uumain; use uucore::benchmark::{create_test_file, run_util_function, text_data}; /// Benchmark different file sizes for byte counting -#[divan::bench(args = [10, 50, 100])] +#[divan::bench(args = [100])] fn wc_bytes_synthetic(bencher: Bencher, size_mb: usize) { let temp_dir = tempfile::tempdir().unwrap(); let data = text_data::generate_by_size(size_mb, 80); @@ -20,7 +20,7 @@ fn wc_bytes_synthetic(bencher: Bencher, size_mb: usize) { }); } -#[divan::bench(args = [10, 100, 1_000])] +#[divan::bench(args = [1_000])] fn wc_words_synthetic(bencher: Bencher, size_mb: usize) { let temp_dir = tempfile::tempdir().unwrap(); let data = text_data::generate_by_size(size_mb, 80); @@ -33,7 +33,7 @@ fn wc_words_synthetic(bencher: Bencher, size_mb: usize) { } /// Benchmark combined byte+line counting -#[divan::bench(args = [10, 100, 1_000])] +#[divan::bench(args = [1_000])] fn wc_bytes_lines_synthetic(bencher: Bencher, size_mb: usize) { let temp_dir = tempfile::tempdir().unwrap(); let data = text_data::generate_by_size(size_mb, 80); @@ -46,7 +46,7 @@ fn wc_bytes_lines_synthetic(bencher: Bencher, size_mb: usize) { } /// Test different line lengths impact on performance -#[divan::bench(args = [(5, 50), (5, 100), (5, 200), (5, 500)])] +#[divan::bench(args = [(5, 500)])] fn wc_lines_variable_length(bencher: Bencher, (size_mb, avg_line_len): (usize, usize)) { let temp_dir = tempfile::tempdir().unwrap(); let data = text_data::generate_by_size(size_mb, avg_line_len); @@ -59,7 +59,7 @@ fn wc_lines_variable_length(bencher: Bencher, (size_mb, avg_line_len): (usize, u } /// Benchmark large files by line count - up to 500K lines! -#[divan::bench(args = [10_000, 50_000, 100_000, 500_000])] +#[divan::bench(args = [500_000])] fn wc_lines_large_line_count(bencher: Bencher, num_lines: usize) { let temp_dir = tempfile::tempdir().unwrap(); let data = text_data::generate_by_lines(num_lines, 80); @@ -72,7 +72,7 @@ fn wc_lines_large_line_count(bencher: Bencher, num_lines: usize) { } /// Benchmark character counting on large line counts -#[divan::bench(args = [10_000, 50_000, 100_000])] +#[divan::bench(args = [100_000])] fn wc_chars_large_line_count(bencher: Bencher, num_lines: usize) { let temp_dir = tempfile::tempdir().unwrap(); let data = text_data::generate_by_lines(num_lines, 80); @@ -85,7 +85,7 @@ fn wc_chars_large_line_count(bencher: Bencher, num_lines: usize) { } /// Benchmark word counting on large line counts -#[divan::bench(args = [10_000, 50_000, 100_000])] +#[divan::bench(args = [100_000])] fn wc_words_large_line_count(bencher: Bencher, num_lines: usize) { let temp_dir = tempfile::tempdir().unwrap(); let data = text_data::generate_by_lines(num_lines, 80); @@ -98,7 +98,7 @@ fn wc_words_large_line_count(bencher: Bencher, num_lines: usize) { } /// Benchmark default wc (lines, words, bytes) on large line counts -#[divan::bench(args = [10_000, 50_000, 100_000])] +#[divan::bench(args = [100_000])] fn wc_default_large_line_count(bencher: Bencher, num_lines: usize) { let temp_dir = tempfile::tempdir().unwrap(); let data = text_data::generate_by_lines(num_lines, 80); @@ -111,7 +111,7 @@ fn wc_default_large_line_count(bencher: Bencher, num_lines: usize) { } /// Benchmark very short vs very long lines with 100K lines -#[divan::bench(args = [(100_000, 10), (100_000, 200)])] +#[divan::bench(args = [(100_000, 200)])] fn wc_lines_extreme_line_lengths(bencher: Bencher, (num_lines, line_len): (usize, usize)) { let temp_dir = tempfile::tempdir().unwrap(); let data = text_data::generate_by_lines(num_lines, line_len);