uutils
coreutils
BlogDocsChangelog

sort:Align sort debug key annotations with GNU coreutils

#9468
Comparing
mattsu2020:sort-debug-keys
(
dd59b59
) with
main
(
5b261bc
)
CodSpeed Performance Gauge
0%
Untouched
127
Skipped
6

Benchmarks

Skipped (6)

Passed

cksum_crc32b
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
13.9 ms13.8 ms
cksum_multiple_files
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
26 ms25.9 ms
cksum_default
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
17.5 ms17.4 ms
cksum_raw_output
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
17.5 ms17.5 ms
cksum_crc
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
17.5 ms17.5 ms
du_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
11.3 ms11.3 ms
du_all_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
18.2 ms18.2 ms
tsort_input_parsing_heavy[5000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
83.1 ms83 ms
sort_reverse_locale[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
363.2 ms362.7 ms
sort_case_sensitive[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
175 ms174.8 ms
b64_decode_ignore_garbage_synthetic
src/uu/base64/benches/base64_bench.rs
CodSpeed Performance Gauge
0%
166.8 µs166.7 µs
cksum_blake2b
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
193 ms192.9 ms
ls_recursive_long_all_deep_tree[(100, 4)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
3.3 ms3.3 ms
ls_recursive_long_all_mixed_tree
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
2.9 ms2.9 ms
ls_recursive_long_all_wide_tree[(15000, 1500)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
143.5 ms143.4 ms
factor_multiple_u64s[2]
src/uu/factor/benches/factor_bench.rs
CodSpeed Performance Gauge
0%
213.2 ms213.1 ms
mv_single_file
src/uu/mv/benches/mv_bench.rs
CodSpeed Performance Gauge
0%
136 ms135.9 ms
b64_decode_synthetic
src/uu/base64/benches/base64_bench.rs
CodSpeed Performance Gauge
0%
168.8 µs168.7 µs
rm_single_file
src/uu/rm/benches/rm_bench.rs
CodSpeed Performance Gauge
0%
119.7 ms119.6 ms
hashsum_md5
src/uu/hashsum/benches/hashsum_bench.rs
CodSpeed Performance Gauge
0%
32 ms32 ms
tsort_linear_chain[1000000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
1.5 s1.5 s
mv_force_overwrite
src/uu/mv/benches/mv_bench.rs
CodSpeed Performance Gauge
0%
138.4 ms138.3 ms
ls_recursive_mixed_tree
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
1.4 ms1.4 ms
cp_preserve_metadata[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
75 ms75 ms
sort_ascii_utf8_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
43.5 ms43.5 ms
tsort_tree_dag[(10, 3)]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
34.2 ms34.2 ms
hashsum_sha512
src/uu/hashsum/benches/hashsum_bench.rs
CodSpeed Performance Gauge
0%
110.8 ms110.8 ms
ls_recursive_deep_tree[(200, 2)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
2.2 ms2.2 ms
sort_ascii_c_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
21.7 ms21.7 ms
cksum_sha2
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.7 s1.7 s
split_number_chunks
src/uu/split/benches/split_bench.rs
CodSpeed Performance Gauge
0%
288.1 µs288.1 µs
cksum_sha256
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.7 s1.7 s
cksum_sha3
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.8 s1.8 s
cut_bytes
src/uu/cut/benches/cut_bench.rs
CodSpeed Performance Gauge
0%
8.5 ms8.5 ms
uniq_heavy_duplicates[10000]
src/uu/uniq/benches/uniq_bench.rs
CodSpeed Performance Gauge
0%
2 ms2 ms
cp_recursive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
72.3 ms72.3 ms
mv_directory
src/uu/mv/benches/mv_bench.rs
CodSpeed Performance Gauge
0%
3.5 ms3.5 ms
numfmt_to_si_precision[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
35.4 ms35.4 ms
rm_force_files
src/uu/rm/benches/rm_bench.rs
CodSpeed Performance Gauge
0%
2 ms2 ms
rm_multiple_files
src/uu/rm/benches/rm_bench.rs
CodSpeed Performance Gauge
0%
2.3 ms2.3 ms
cut_fields_tab
src/uu/cut/benches/cut_bench.rs
CodSpeed Performance Gauge
0%
34.1 ms34.1 ms
numfmt_from_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
32.7 ms32.7 ms
numfmt_to_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
33.7 ms33.7 ms
numfmt_round_modes[("up", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
34.2 ms34.2 ms
fold_many_lines[100000]
src/uu/fold/benches/fold_bench.rs
CodSpeed Performance Gauge
0%
80.1 ms80.1 ms
numfmt_round_modes[("towards-zero", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
34.2 ms34.2 ms
numfmt_padding[(10000, 50)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
48.2 ms48.2 ms
numfmt_round_modes[("down", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
34.2 ms34.2 ms
hashsum_md5_check
src/uu/hashsum/benches/hashsum_bench.rs
CodSpeed Performance Gauge
0%
32 ms32 ms
rm_recursive_tree
src/uu/rm/benches/rm_bench.rs
CodSpeed Performance Gauge
0%
13.6 ms13.6 ms
hashsum_sha256_check
src/uu/hashsum/benches/hashsum_bench.rs
CodSpeed Performance Gauge
0%
173.6 ms173.6 ms
nl_many_lines[100000]
src/uu/nl/benches/nl_bench.rs
CodSpeed Performance Gauge
0%
79.8 ms79.8 ms
hashsum_sha256
src/uu/hashsum/benches/hashsum_bench.rs
CodSpeed Performance Gauge
0%
173.6 ms173.6 ms
cksum_sysv
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
48.3 ms48.3 ms
wc_bytes_lines_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
120.2 ms120.2 ms
cksum_sm3
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.6 s1.6 s
cksum_shake128
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.5 s1.5 s
cksum_shake256
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.9 s1.9 s
nl_large_file[10]
src/uu/nl/benches/nl_bench.rs
CodSpeed Performance Gauge
0%
100.9 ms100.9 ms
wc_words_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
11.4 s11.4 s
cksum_sha224
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.7 s1.7 s
cksum_sha384
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.1 s1.1 s
wc_default_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
50.4 ms50.4 ms
hashsum_sha1
src/uu/hashsum/benches/hashsum_bench.rs
CodSpeed Performance Gauge
0%
72.5 ms72.5 ms
cksum_bsd
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
128.3 ms128.3 ms
unexpand_many_lines[100000]
src/uu/unexpand/benches/unexpand_bench.rs
CodSpeed Performance Gauge
0%
262 ms262 ms
unexpand_large_file[10]
src/uu/unexpand/benches/unexpand_bench.rs
CodSpeed Performance Gauge
0%
549.3 ms549.3 ms
wc_words_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
48 ms48 ms
numfmt_to_iec[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
33.7 ms33.7 ms
sort_dictionary_order[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
1.1 s1.1 s
fold_custom_width[50000]
src/uu/fold/benches/fold_bench.rs
CodSpeed Performance Gauge
0%
32.9 ms32.9 ms
cut_fields_custom_delim
src/uu/cut/benches/cut_bench.rs
CodSpeed Performance Gauge
0%
40.8 ms40.8 ms
expand_many_lines[100000]
src/uu/expand/benches/expand_bench.rs
CodSpeed Performance Gauge
0%
149.9 ms149.9 ms
sort_key_field[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
703.7 ms703.7 ms
seq_formatted
src/uu/seq/benches/seq_bench.rs
CodSpeed Performance Gauge
0%
97.2 ms97.2 ms
numfmt_large_numbers_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
32.4 ms32.4 ms
expand_custom_tabstops[50000]
src/uu/expand/benches/expand_bench.rs
CodSpeed Performance Gauge
0%
37 ms37 ms
wc_lines_large_line_count[500000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
2.9 ms2.9 ms
seq_custom_separator
src/uu/seq/benches/seq_bench.rs
CodSpeed Performance Gauge
0%
28.7 ms28.7 ms
sort_accented_data[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
363.6 ms363.6 ms
seq_integers
src/uu/seq/benches/seq_bench.rs
CodSpeed Performance Gauge
0%
26.1 ms26.1 ms
sort_numeric
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
23.2 ms23.2 ms
ls_recursive_long_all_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
134.6 ms134.6 ms
wc_chars_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
1 ms1 ms
sort_mixed_data[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
328.5 ms328.5 ms
ls_recursive_wide_tree[(10000, 1000)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
52.6 ms52.6 ms
wc_bytes_synthetic[500]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
182.4 µs182.4 µs
seq_with_step
src/uu/seq/benches/seq_bench.rs
CodSpeed Performance Gauge
0%
13.3 ms13.3 ms
cksum_blake3
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
207.8 µs207.8 µs
tsort_complex_dag[50000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
84.3 ms84.3 ms
uniq_with_count[10000]
src/uu/uniq/benches/uniq_bench.rs
CodSpeed Performance Gauge
0%
1.9 ms1.9 ms
cut_characters
src/uu/cut/benches/cut_bench.rs
CodSpeed Performance Gauge
0%
7.5 ms7.5 ms
wc_lines_variable_length[(50, 500)]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
3.4 ms3.4 ms
shuf_repeat_sampling[50000]
src/uu/shuf/benches/shuf_bench.rs
CodSpeed Performance Gauge
0%
4.7 ms4.7 ms
sort_german_c_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
38.5 ms38.5 ms
sort_numeric[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
1.2 s1.2 s
tsort_wide_dag[100000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
134.1 ms134.1 ms
split_lines
src/uu/split/benches/split_bench.rs
CodSpeed Performance Gauge
0%
5.7 ms5.7 ms
sort_ascii_only[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
354.8 ms354.8 ms
cksum_sha512
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.1 s1.1 s
wc_lines_extreme_line_lengths[(100000, 200)]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
1.6 ms1.6 ms
seq_large_integers
src/uu/seq/benches/seq_bench.rs
CodSpeed Performance Gauge
0%
2.2 ms2.2 ms
shuf_input_range[1000000]
src/uu/shuf/benches/shuf_bench.rs
CodSpeed Performance Gauge
0%
229.1 ms229.1 ms
split_bytes
src/uu/split/benches/split_bench.rs
CodSpeed Performance Gauge
0%
510.5 µs510.5 µs
mv_multiple_to_dir
src/uu/mv/benches/mv_bench.rs
CodSpeed Performance Gauge
0%
13.1 ms13.1 ms
uniq_case_insensitive[10000]
src/uu/uniq/benches/uniq_bench.rs
CodSpeed Performance Gauge
0%
1.8 ms1.8 ms
sort_reverse_mixed
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
39.2 ms39.2 ms
cksum_sha1
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
722.9 ms722.9 ms
ls_recursive_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
55.4 ms55.4 ms
sort_unique_locale[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
495 ms495 ms
sort_case_insensitive[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
279.7 ms279.7 ms
cksum_md5
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
317.8 ms317.9 ms
sort_mixed_c_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
38.4 ms38.4 ms
split_numeric_suffix
src/uu/split/benches/split_bench.rs
CodSpeed Performance Gauge
0%
5.9 ms5.9 ms
sort_german_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
39.3 ms39.3 ms
b64_encode_synthetic
src/uu/base64/benches/base64_bench.rs
CodSpeed Performance Gauge
0%
164.3 µs164.4 µs
sort_long_line[160000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
1.7 ms1.7 ms
cp_recursive_deep_tree[(120, 4)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
13.6 ms13.7 ms
shuf_lines[100000]
src/uu/shuf/benches/shuf_bench.rs
CodSpeed Performance Gauge
0%
26.9 ms26.9 ms
sort_mixed_utf8_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
38.9 ms38.9 ms
sort_unique_mixed
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
39.4 ms39.5 ms
cp_archive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
77.7 ms77.8 ms
du_summarize_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
8.4 ms8.4 ms
cp_recursive_wide_tree[(6000, 800)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
189.4 ms189.7 ms
du_max_depth_balanced_tree[(6, 4, 10)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
-1%
32.8 ms33 ms
cp_large_file[16]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
-1%
359 µs361.4 µs
du_deep_tree[(100, 3)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
-1%
1.2 ms1.2 ms

Commits

Click on a commit to change the comparison range
Base
main
5b261bc
0%
feat: add locale-aware tests for sort debug key annotations Split the existing `test_debug_key_annotations` into two tests: one for basic functionality and another for locale-specific behavior to handle conditional execution based on environment variables. Extracted a new helper function `debug_key_annotation_output` to generate debug output, improving test modularity and reducing code duplication. This enhances test coverage for debug key annotations in different numeric locales.
62c9299
12 days ago
by mattsu2020
-0.03%
refactor(test): optimize string building in debug_key_annotation_output for efficiency Rework the `number` helper function to use a mutable String buffer with `writeln!` macro instead of collecting intermediary vectors with `map` and `collect`. This reduces allocations and improves performance in test output generation, building the numbered output directly without extra string concatenations.
55b7884
12 days ago
by mattsu2020
+0.03%
refactor(tests): improve formatting and readability in sort test helpers - Reformatted command-line arguments in test_debug_key_annotations_locale to fit on fewer lines - Wrapped run_sort calls in debug_key_annotation_output for better code structure - Minor reordering of output.push_str blocks for consistency and clarity
d7989cc
12 days ago
by mattsu2020
0%
refactor(test): embed expected debug key annotation outputs as constants Replace fixture file reads with inline constants in test functions for debug key annotations and locale variants. This makes the tests more self-contained by removing dependencies on external fixture files.
b0f6290
12 days ago
by mattsu2020
0%
Merge branch 'main' into sort-debug-keys
0eb8bee
5 days ago
by mattsu2020
+0.01%
Merge branch 'main' into sort-debug-keys
663f4bf
4 days ago
by mattsu2020
-0.01%
feat(sort): extract count_non_null_bytes for debug alignment Add a helper function `count_non_null_bytes` to count bytes in a slice while ignoring embedded NULs. This improves code reusability and is used in debug underline output to ensure proper alignment by filtering NUL characters that may be present in selection strings. Replaces inline counting logic in two locations within the `Line` implementation.
dd59b59
8 hours ago
by mattsu2020
© 2025 CodSpeed Technology
Home Terms Privacy Docs