No successful run was found on main (f43602d) during the generation of this report, so b3d05b6 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.
Benchmarks
Skipped (6)
Passed
tsort_input_parsing_heavy[5000]
src/uu/tsort/benches/tsort_bench.rs
+1%
85.1 ms84.5 ms
cksum_multiple_files
src/uu/cksum/benches/cksum_bench.rs
0%
25.3 ms25.2 ms
du_all_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
0%
18.1 ms18.1 ms
du_summarize_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
0%
8.4 ms8.4 ms
cp_large_file[16]
src/uu/cp/benches/cp_bench.rs
0%
361.8 µs361.5 µs
du_deep_tree[(100, 3)]
src/uu/du/benches/du_bench.rs
0%
1.2 ms1.2 ms
cp_recursive_deep_tree[(120, 4)]
src/uu/cp/benches/cp_bench.rs
0%
13.7 ms13.6 ms
cksum_crc32b
src/uu/cksum/benches/cksum_bench.rs
0%
13.3 ms13.3 ms
tsort_tree_dag[(10, 3)]
src/uu/tsort/benches/tsort_bench.rs
0%
34.1 ms34.1 ms
cp_recursive_wide_tree[(6000, 800)]
src/uu/cp/benches/cp_bench.rs
0%
189.8 ms189.7 ms
factor_multiple_u64s[2]
src/uu/factor/benches/factor_bench.rs
0%
211.7 ms211.7 ms
mv_single_file
src/uu/mv/benches/mv_bench.rs
0%
135.3 ms135.3 ms
mv_force_overwrite
src/uu/mv/benches/mv_bench.rs
0%
144 ms144 ms
ls_recursive_deep_tree[(200, 2)]
src/uu/ls/benches/ls_bench.rs
0%
2.2 ms2.2 ms
sort_long_line[160000]
src/uu/sort/benches/sort_bench.rs
0%
1.7 ms1.7 ms
du_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
0%
11.2 ms11.2 ms
ls_recursive_mixed_tree
src/uu/ls/benches/ls_bench.rs
0%
1.4 ms1.4 ms
sort_case_insensitive[500000]
src/uu/sort/benches/sort_bench.rs
0%
276.7 ms276.7 ms
uniq_case_insensitive[10000]
src/uu/uniq/benches/uniq_bench.rs
0%
1.8 ms1.8 ms
shuf_input_range[1000000]
src/uu/shuf/benches/shuf_bench.rs
0%
229.4 ms229.4 ms
uniq_heavy_duplicates[10000]
src/uu/uniq/benches/uniq_bench.rs
0%
2 ms2 ms
tsort_linear_chain[1000000]
src/uu/tsort/benches/tsort_bench.rs
0%
1.5 s1.5 s
shuf_repeat_sampling[50000]
src/uu/shuf/benches/shuf_bench.rs
0%
5.1 ms5.1 ms
mv_directory
src/uu/mv/benches/mv_bench.rs
0%
3.5 ms3.5 ms
cksum_blake2b
src/uu/cksum/benches/cksum_bench.rs
0%
192.7 ms192.7 ms
split_lines
src/uu/split/benches/split_bench.rs
0%
5.7 ms5.7 ms
uniq_with_count[10000]
src/uu/uniq/benches/uniq_bench.rs
0%
1.9 ms1.9 ms
sort_ascii_utf8_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
43.1 ms43.1 ms
cp_archive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
0%
78 ms78 ms
ls_recursive_wide_tree[(10000, 1000)]
src/uu/ls/benches/ls_bench.rs
0%
51.5 ms51.5 ms
numfmt_to_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
33.8 ms33.8 ms
numfmt_to_iec[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
33.8 ms33.8 ms
sort_ascii_c_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
21.5 ms21.5 ms
mv_multiple_to_dir
src/uu/mv/benches/mv_bench.rs
0%
12.9 ms12.9 ms
numfmt_round_modes[("up", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34.3 ms34.3 ms
sort_german_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
39.3 ms39.3 ms
numfmt_round_modes[("towards-zero", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34.3 ms34.3 ms
numfmt_round_modes[("down", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34.3 ms34.3 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
cut_fields_tab
src/uu/cut/benches/cut_bench.rs
0%
34.1 ms34.1 ms
sort_reverse_locale[500000]
src/uu/sort/benches/sort_bench.rs
0%
361.8 ms361.8 ms
fold_custom_width[50000]
src/uu/fold/benches/fold_bench.rs
0%
33 ms33 ms
sort_mixed_data[500000]
src/uu/sort/benches/sort_bench.rs
0%
328.1 ms328.1 ms
expand_many_lines[100000]
src/uu/expand/benches/expand_bench.rs
0%
148.6 ms148.6 ms
numfmt_to_si_precision[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
35.3 ms35.3 ms
hashsum_sha512
src/uu/hashsum/benches/hashsum_bench.rs
0%
110.8 ms110.8 ms
unexpand_many_lines[100000]
src/uu/unexpand/benches/unexpand_bench.rs
0%
269.6 ms269.6 ms
unexpand_large_file[10]
src/uu/unexpand/benches/unexpand_bench.rs
0%
565.2 ms565.2 ms
numfmt_padding[(10000, 50)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
48 ms48 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
cksum_sm3
src/uu/cksum/benches/cksum_bench.rs
0%
1.6 s1.6 s
nl_many_lines[100000]
src/uu/nl/benches/nl_bench.rs
0%
44.9 ms44.9 ms
wc_words_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
0%
11.4 s11.4 s
cut_fields_custom_delim
src/uu/cut/benches/cut_bench.rs
0%
40.8 ms40.8 ms
numfmt_from_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
32.7 ms32.7 ms
fold_many_lines[100000]
src/uu/fold/benches/fold_bench.rs
0%
80.4 ms80.4 ms
hashsum_sha256_check
src/uu/hashsum/benches/hashsum_bench.rs
0%
172.9 ms172.9 ms
wc_bytes_lines_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
0%
120.2 ms120.2 ms
sort_ascii_only[500000]
src/uu/sort/benches/sort_bench.rs
0%
353.8 ms353.8 ms
wc_words_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
0%
48 ms48 ms
seq_formatted
src/uu/seq/benches/seq_bench.rs
0%
96.1 ms96.1 ms
seq_custom_separator
src/uu/seq/benches/seq_bench.rs
0%
28.7 ms28.7 ms
wc_default_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
0%
50.4 ms50.4 ms
nl_large_file[10]
src/uu/nl/benches/nl_bench.rs
0%
57.1 ms57.1 ms
expand_custom_tabstops[50000]
src/uu/expand/benches/expand_bench.rs
0%
36.9 ms36.9 ms
numfmt_large_numbers_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
32.5 ms32.5 ms
sort_numeric[500000]
src/uu/sort/benches/sort_bench.rs
0%
1.2 s1.2 s
hashsum_md5_check
src/uu/hashsum/benches/hashsum_bench.rs
0%
32 ms32 ms
sort_german_c_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
38.4 ms38.4 ms
seq_integers
src/uu/seq/benches/seq_bench.rs
0%
26.1 ms26.1 ms
sort_numeric
src/uu/sort/benches/sort_locale_bench.rs
0%
23.9 ms23.9 ms
sort_key_field[500000]
src/uu/sort/benches/sort_bench.rs
0%
701.7 ms701.7 ms
seq_with_step
src/uu/seq/benches/seq_bench.rs
0%
13.3 ms13.3 ms
wc_lines_variable_length[(50, 500)]
src/uu/wc/benches/wc_bench.rs
0%
3.4 ms3.4 ms
split_numeric_suffix
src/uu/split/benches/split_bench.rs
0%
5.9 ms5.9 ms
cut_bytes
src/uu/cut/benches/cut_bench.rs
0%
8.4 ms8.4 ms
wc_lines_extreme_line_lengths[(100000, 200)]
src/uu/wc/benches/wc_bench.rs
0%
1.6 ms1.6 ms
wc_lines_large_line_count[500000]
src/uu/wc/benches/wc_bench.rs
0%
2.9 ms2.9 ms
b64_decode_synthetic
src/uu/base64/benches/base64_bench.rs
0%
166.6 µs166.6 µs
cp_recursive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
0%
72.4 ms72.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
cut_characters
src/uu/cut/benches/cut_bench.rs
0%
7.4 ms7.4 ms
cksum_sha2
src/uu/cksum/benches/cksum_bench.rs
0%
1.7 s1.7 s
cksum_sha3
src/uu/cksum/benches/cksum_bench.rs
0%
1.8 s1.8 s
rm_multiple_files
src/uu/rm/benches/rm_bench.rs
0%
2.2 ms2.2 ms
hashsum_sha256
src/uu/hashsum/benches/hashsum_bench.rs
0%
173 ms173 ms
cksum_sha1
src/uu/cksum/benches/cksum_bench.rs
0%
723 ms723.1 ms
seq_large_integers
src/uu/seq/benches/seq_bench.rs
0%
2.2 ms2.2 ms
rm_force_files
src/uu/rm/benches/rm_bench.rs
0%
2 ms2 ms
tsort_complex_dag[50000]
src/uu/tsort/benches/tsort_bench.rs
0%
84 ms84 ms
sort_unique_locale[500000]
src/uu/sort/benches/sort_bench.rs
0%
494.1 ms494.1 ms
ls_recursive_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
0%
55.3 ms55.3 ms
wc_chars_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
0%
1 ms1 ms
hashsum_sha1
src/uu/hashsum/benches/hashsum_bench.rs
0%
72.5 ms72.6 ms
cksum_md5
src/uu/cksum/benches/cksum_bench.rs
0%
317.9 ms317.9 ms
sort_mixed_utf8_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
38.8 ms38.8 ms
rm_single_file
src/uu/rm/benches/rm_bench.rs
0%
119.1 ms119.1 ms
sort_reverse_mixed
src/uu/sort/benches/sort_locale_bench.rs
0%
39.1 ms39.1 ms
cksum_blake3
src/uu/cksum/benches/cksum_bench.rs
0%
209 µs209 µs
shuf_lines[100000]
src/uu/shuf/benches/shuf_bench.rs
0%
31.6 ms31.6 ms
sort_mixed_c_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
38.3 ms38.3 ms
tsort_wide_dag[100000]
src/uu/tsort/benches/tsort_bench.rs
0%
133.4 ms133.4 ms
split_bytes
src/uu/split/benches/split_bench.rs
0%
508.8 µs508.9 µs
sort_dictionary_order[500000]
src/uu/sort/benches/sort_bench.rs
0%
1.1 s1.1 s
hashsum_md5
src/uu/hashsum/benches/hashsum_bench.rs
0%
32 ms32 ms
cksum_bsd
src/uu/cksum/benches/cksum_bench.rs
0%
128.3 ms128.3 ms
b64_decode_ignore_garbage_synthetic
src/uu/base64/benches/base64_bench.rs
0%
163.5 µs163.6 µs
b64_encode_synthetic
src/uu/base64/benches/base64_bench.rs
0%
162 µs162.1 µs
split_number_chunks
src/uu/split/benches/split_bench.rs
0%
294.6 µs294.7 µs
ls_recursive_long_all_deep_tree[(100, 4)]
src/uu/ls/benches/ls_bench.rs
0%
3.3 ms3.3 ms
ls_recursive_long_all_mixed_tree
src/uu/ls/benches/ls_bench.rs
0%
2.9 ms2.9 ms
ls_recursive_long_all_wide_tree[(15000, 1500)]
src/uu/ls/benches/ls_bench.rs
0%
142.9 ms143 ms
cp_preserve_metadata[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
0%
75 ms75.1 ms
wc_bytes_synthetic[500]
src/uu/wc/benches/wc_bench.rs
0%
185.5 µs185.6 µs
cksum_sysv
src/uu/cksum/benches/cksum_bench.rs
0%
48.2 ms48.2 ms
sort_case_sensitive[500000]
src/uu/sort/benches/sort_bench.rs
0%
173.8 ms174 ms
ls_recursive_long_all_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
0%
134.4 ms134.5 ms
rm_recursive_tree
src/uu/rm/benches/rm_bench.rs
0%
11.7 ms11.8 ms
cksum_default
src/uu/cksum/benches/cksum_bench.rs
0%
16.9 ms16.9 ms
sort_accented_data[500000]
src/uu/sort/benches/sort_bench.rs
0%
362.6 ms363.4 ms
cksum_crc
src/uu/cksum/benches/cksum_bench.rs
0%
16.9 ms16.9 ms
du_max_depth_balanced_tree[(6, 4, 10)]
src/uu/du/benches/du_bench.rs
0%
32.8 ms32.9 ms
sort_unique_mixed
src/uu/sort/benches/sort_locale_bench.rs
0%
39.3 ms39.4 ms
cksum_raw_output
src/uu/cksum/benches/cksum_bench.rs
0%
16.9 ms17 ms
Commits
Click on a commit to change the comparison range
Base
main
b3d05b6
-0.01%
test: check supplementary groups and ACLs for -r/-w/-x permissions.
Replace manual permission checking logic with platform-specific libc functions that properly handle supplementary groups and ACLs:
- Linux, Hurd, Redox, Cygwin, Solaris, Illumos: euidaccess()
- FreeBSD: eaccess()
- macOS, iOS, NetBSD, OpenBSD, DragonFly: faccessat() with AT_EACCESS
- Android: faccessat()
- Other OSes: fall back to libc:access()
These functions delegate permission checks to the kernel, which correctly evaluates all of the user's group memberships (both primary and supplementary), as well as ACLs and other advanced permission features.
Fixes #8960
Fixes #9147