These benchmarks were skipped, so their baseline results are used instead. If they were deleted in your codebase, archive them to remove them from the performance reports. Learn more about archiving benchmarks
du_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
Skipped
9.2 ms*
du_all_balanced_tree[(4, 3, 10)]
src/uu/du/benches/du_bench.rs
Skipped
1.6 ms*
factor_multiple_u128s[18446744073709551616]
src/uu/factor/benches/factor_bench.rs
Skipped
327.9 ms*
factor_multiple_big_uint
src/uu/factor/benches/factor_bench.rs
Skipped
18.6 ms*
du_human_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
Skipped
10.6 ms*
factor_table
src/uu/factor/benches/factor_bench.rs
Skipped
189.5 ms*
Failed
ls_recursive_long_all_deep_tree[(100, 4)]
src/uu/ls/benches/ls_bench.rs
Regression
-2%
3.2 ms3.3 ms
Improved
ls_recursive_wide_tree[(10000, 1000)]
src/uu/ls/benches/ls_bench.rs
+2%
52.6 ms51.4 ms
Passed
du_deep_tree[(100, 3)]
src/uu/du/benches/du_bench.rs
+1%
1.2 ms1.2 ms
ls_recursive_long_all_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
+1%
135.9 ms135.2 ms
cp_large_file[16]
src/uu/cp/benches/cp_bench.rs
+1%
342.5 µs340.8 µs
du_max_depth_balanced_tree[(6, 4, 10)]
src/uu/du/benches/du_bench.rs
0%
32.9 ms32.7 ms
sort_numeric[500000]
src/uu/sort/benches/sort_bench.rs
0%
1.2 s1.2 s
du_summarize_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
0%
8.4 ms8.4 ms
cksum_multiple_files
src/uu/cksum/benches/cksum_bench.rs
0%
25.9 ms25.9 ms
du_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
0%
11.2 ms11.2 ms
sort_dictionary_order[500000]
src/uu/sort/benches/sort_bench.rs
0%
1.1 s1.1 s
cp_preserve_metadata[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
0%
75 ms74.9 ms
sort_long_line[160000]
src/uu/sort/benches/sort_bench.rs
0%
1.7 ms1.7 ms
sort_unique_mixed
src/uu/sort/benches/sort_locale_bench.rs
0%
38.6 ms38.6 ms
split_number_chunks
src/uu/split/benches/split_bench.rs
0%
275.4 µs275.4 µs
factor_multiple_u64s[2]
src/uu/factor/benches/factor_bench.rs
0%
178.2 ms178.2 ms
b64_decode_ignore_garbage_synthetic
src/uu/base64/benches/base64_bench.rs
0%
149.4 µs149.4 µs
ls_recursive_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
0%
55.6 ms55.6 ms
tsort_tree_dag[(10, 3)]
src/uu/tsort/benches/tsort_bench.rs
0%
34.4 ms34.4 ms
sort_german_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
38.4 ms38.4 ms
tsort_complex_dag[50000]
src/uu/tsort/benches/tsort_bench.rs
0%
84.7 ms84.7 ms
sort_reverse_mixed
src/uu/sort/benches/sort_locale_bench.rs
0%
38.1 ms38.1 ms
cksum_blake3
src/uu/cksum/benches/cksum_bench.rs
0%
187.3 µs187.2 µs
ls_recursive_mixed_tree
src/uu/ls/benches/ls_bench.rs
0%
1.4 ms1.4 ms
tsort_wide_dag[100000]
src/uu/tsort/benches/tsort_bench.rs
0%
134.7 ms134.7 ms
shuf_repeat_sampling[50000]
src/uu/shuf/benches/shuf_bench.rs
0%
4.6 ms4.6 ms
shuf_lines[100000]
src/uu/shuf/benches/shuf_bench.rs
0%
26.9 ms26.9 ms
sort_numeric
src/uu/sort/benches/sort_locale_bench.rs
0%
23.5 ms23.5 ms
shuf_input_range[1000000]
src/uu/shuf/benches/shuf_bench.rs
0%
229.1 ms229.1 ms
sort_german_c_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
38.4 ms38.4 ms
cksum_sha512
src/uu/cksum/benches/cksum_bench.rs
0%
1.1 s1.1 s
cksum_sha384
src/uu/cksum/benches/cksum_bench.rs
0%
1.1 s1.1 s
hashsum_sha512
src/uu/hashsum/benches/hashsum_bench.rs
0%
110.8 ms110.8 ms
cksum_blake2b
src/uu/cksum/benches/cksum_bench.rs
0%
192.9 ms192.9 ms
tsort_linear_chain[1000000]
src/uu/tsort/benches/tsort_bench.rs
0%
1.5 s1.5 s
sort_ascii_utf8_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
43.1 ms43.1 ms
sort_ascii_c_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
22.5 ms22.5 ms
split_numeric_suffix
src/uu/split/benches/split_bench.rs
0%
5.9 ms5.9 ms
split_lines
src/uu/split/benches/split_bench.rs
0%
5.7 ms5.7 ms
sort_case_sensitive[500000]
src/uu/sort/benches/sort_bench.rs
0%
174.2 ms174.2 ms
rm_recursive_tree
src/uu/rm/benches/rm_bench.rs
0%
13.6 ms13.6 ms
cp_recursive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
0%
72.4 ms72.4 ms
cut_fields_custom_delim
src/uu/cut/benches/cut_bench.rs
0%
40.7 ms40.7 ms
fold_custom_width[50000]
src/uu/fold/benches/fold_bench.rs
0%
32.9 ms32.9 ms
expand_many_lines[100000]
src/uu/expand/benches/expand_bench.rs
0%
149.9 ms149.9 ms
wc_bytes_lines_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
0%
120.2 ms120.2 ms
cksum_shake256
src/uu/cksum/benches/cksum_bench.rs
0%
1.9 s1.9 s
cksum_shake128
src/uu/cksum/benches/cksum_bench.rs
0%
1.5 s1.5 s
wc_words_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
0%
11.4 s11.4 s
cksum_sha2
src/uu/cksum/benches/cksum_bench.rs
0%
1.7 s1.7 s
unexpand_large_file[10]
src/uu/unexpand/benches/unexpand_bench.rs
0%
549.3 ms549.3 ms
seq_custom_separator
src/uu/seq/benches/seq_bench.rs
0%
28.7 ms28.7 ms
unexpand_many_lines[100000]
src/uu/unexpand/benches/unexpand_bench.rs
0%
262 ms262 ms
sort_mixed_data[500000]
src/uu/sort/benches/sort_bench.rs
0%
327.3 ms327.3 ms
hashsum_sha256_check
src/uu/hashsum/benches/hashsum_bench.rs
0%
173.6 ms173.6 ms
hashsum_sha256
src/uu/hashsum/benches/hashsum_bench.rs
0%
173.6 ms173.6 ms
fold_many_lines[100000]
src/uu/fold/benches/fold_bench.rs
0%
80.1 ms80.1 ms
numfmt_to_iec[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
33.7 ms33.7 ms
seq_formatted
src/uu/seq/benches/seq_bench.rs
0%
97.2 ms97.2 ms
wc_default_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
0%
50.4 ms50.4 ms
nl_many_lines[100000]
src/uu/nl/benches/nl_bench.rs
0%
79.7 ms79.7 ms
seq_integers
src/uu/seq/benches/seq_bench.rs
0%
26.1 ms26.1 ms
numfmt_to_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
33.6 ms33.6 ms
wc_words_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
0%
47.9 ms47.9 ms
numfmt_round_modes[("down", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34.2 ms34.2 ms
numfmt_padding[(10000, 50)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
48.3 ms48.3 ms
numfmt_from_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
32.7 ms32.7 ms
hashsum_md5_check
src/uu/hashsum/benches/hashsum_bench.rs
0%
32 ms32 ms
nl_large_file[10]
src/uu/nl/benches/nl_bench.rs
0%
100.9 ms100.9 ms
numfmt_to_si_precision[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
35.4 ms35.4 ms
cksum_sha224
src/uu/cksum/benches/cksum_bench.rs
0%
1.7 s1.7 s
cksum_sha256
src/uu/cksum/benches/cksum_bench.rs
0%
1.7 s1.7 s
seq_with_step
src/uu/seq/benches/seq_bench.rs
0%
13.3 ms13.3 ms
cksum_sm3
src/uu/cksum/benches/cksum_bench.rs
0%
1.6 s1.6 s
numfmt_round_modes[("up", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34.1 ms34.1 ms
hashsum_md5
src/uu/hashsum/benches/hashsum_bench.rs
0%
32 ms32 ms
numfmt_large_numbers_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
32.4 ms32.4 ms
sort_accented_data[500000]
src/uu/sort/benches/sort_bench.rs
0%
362.5 ms362.5 ms
cut_fields_tab
src/uu/cut/benches/cut_bench.rs
0%
34.1 ms34.1 ms
expand_custom_tabstops[50000]
src/uu/expand/benches/expand_bench.rs
0%
37 ms37 ms
numfmt_round_modes[("towards-zero", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34.2 ms34.2 ms
cut_bytes
src/uu/cut/benches/cut_bench.rs
0%
8.5 ms8.5 ms
cksum_sha1
src/uu/cksum/benches/cksum_bench.rs
0%
723 ms723 ms
rm_force_files
src/uu/rm/benches/rm_bench.rs
0%
2.1 ms2.1 ms
cksum_md5
src/uu/cksum/benches/cksum_bench.rs
0%
317.9 ms317.9 ms
rm_multiple_files
src/uu/rm/benches/rm_bench.rs
0%
2.2 ms2.2 ms
cksum_sha3
src/uu/cksum/benches/cksum_bench.rs
0%
1.8 s1.8 s
sort_case_insensitive[500000]
src/uu/sort/benches/sort_bench.rs
0%
278.6 ms278.6 ms
wc_lines_extreme_line_lengths[(100000, 200)]
src/uu/wc/benches/wc_bench.rs
0%
1.6 ms1.6 ms
cut_characters
src/uu/cut/benches/cut_bench.rs
0%
7.5 ms7.5 ms
mv_directory
src/uu/mv/benches/mv_bench.rs
0%
3.5 ms3.5 ms
wc_chars_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
0%
994.4 µs994.4 µs
uniq_heavy_duplicates[10000]
src/uu/uniq/benches/uniq_bench.rs
0%
1.9 ms1.9 ms
sort_mixed_c_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
38.2 ms38.2 ms
b64_decode_synthetic
src/uu/base64/benches/base64_bench.rs
0%
149.1 µs149.1 µs
cksum_sysv
src/uu/cksum/benches/cksum_bench.rs
0%
48.2 ms48.2 ms
wc_lines_variable_length[(50, 500)]
src/uu/wc/benches/wc_bench.rs
0%
3.4 ms3.4 ms
wc_lines_large_line_count[500000]
src/uu/wc/benches/wc_bench.rs
0%
2.9 ms2.9 ms
hashsum_sha1
src/uu/hashsum/benches/hashsum_bench.rs
0%
72.5 ms72.5 ms
uniq_with_count[10000]
src/uu/uniq/benches/uniq_bench.rs
0%
1.9 ms1.9 ms
rm_single_file
src/uu/rm/benches/rm_bench.rs
0%
106.5 ms106.6 ms
mv_single_file
src/uu/mv/benches/mv_bench.rs
0%
129.7 ms129.7 ms
cp_archive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
0%
77.9 ms78 ms
uniq_case_insensitive[10000]
src/uu/uniq/benches/uniq_bench.rs
0%
1.7 ms1.7 ms
cksum_raw_output
src/uu/cksum/benches/cksum_bench.rs
0%
17.3 ms17.3 ms
wc_bytes_synthetic[500]
src/uu/wc/benches/wc_bench.rs
0%
164.1 µs164.1 µs
cksum_bsd
src/uu/cksum/benches/cksum_bench.rs
0%
128.3 ms128.4 ms
mv_force_overwrite
src/uu/mv/benches/mv_bench.rs
0%
125.2 ms125.2 ms
sort_key_field[500000]
src/uu/sort/benches/sort_bench.rs
0%
699.9 ms700.1 ms
cp_recursive_deep_tree[(120, 4)]
src/uu/cp/benches/cp_bench.rs
0%
13.6 ms13.6 ms
mv_multiple_to_dir
src/uu/mv/benches/mv_bench.rs
0%
13.1 ms13.1 ms
du_all_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
0%
18.2 ms18.2 ms
sort_mixed_utf8_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
38.8 ms38.8 ms
split_bytes
src/uu/split/benches/split_bench.rs
0%
505.8 µs506.1 µs
b64_encode_synthetic
src/uu/base64/benches/base64_bench.rs
0%
146.2 µs146.3 µs
cp_recursive_wide_tree[(6000, 800)]
src/uu/cp/benches/cp_bench.rs
0%
189.7 ms189.9 ms
sort_reverse_locale[500000]
src/uu/sort/benches/sort_bench.rs
0%
361 ms361.5 ms
cksum_default
src/uu/cksum/benches/cksum_bench.rs
0%
17.3 ms17.4 ms
cksum_crc
src/uu/cksum/benches/cksum_bench.rs
0%
17.3 ms17.3 ms
cksum_crc32b
src/uu/cksum/benches/cksum_bench.rs
0%
13.7 ms13.7 ms
ls_recursive_deep_tree[(200, 2)]
src/uu/ls/benches/ls_bench.rs
0%
2.2 ms2.2 ms
sort_unique_locale[500000]
src/uu/sort/benches/sort_bench.rs
0%
493.9 ms496 ms
tsort_input_parsing_heavy[5000]
src/uu/tsort/benches/tsort_bench.rs
0%
81.7 ms82.1 ms
sort_ascii_only[500000]
src/uu/sort/benches/sort_bench.rs
0%
353.6 ms355.4 ms
ls_recursive_long_all_wide_tree[(15000, 1500)]
src/uu/ls/benches/ls_bench.rs
-1%
142.1 ms143.3 ms
ls_recursive_long_all_mixed_tree
src/uu/ls/benches/ls_bench.rs
-2%
2.8 ms2.9 ms
Commits
Click on a commit to change the comparison range
Base
main
909553a
-2.16%
ls: prevent ReadDir from closing before entries are processed
The issue occurred because ReadDir was being consumed by the for loop,
causing it to be dropped immediately after iteration. This closed the
directory file descriptor (FD 3) before metadata() could be called on
the entries, since /proc/self/fd shows the process's own open FDs.
By using read_dir.by_ref() in the loop, we borrow the iterator instead
of consuming it, keeping the ReadDir (and its underlying FD) alive until
enter_directory() completes.
Fixes: #9332