75 archived benchmarks were run. If they were deleted in another branch, consider rebasing to remove them from the report. .
Passed
sort_accented_data[500000]
src/uu/sort/benches/sort_bench.rs
0%
363 ms361.5 ms
cp_archive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
0%
77 ms76.8 ms
sort_long_line[160000]
src/uu/sort/benches/sort_bench.rs
0%
1.9 ms1.9 ms
sort_mixed_utf8_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
38.9 ms38.9 ms
cp_recursive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
0%
71.7 ms71.6 ms
ls_recursive_long_all_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
0%
138.6 ms138.6 ms
sort_unique_locale[500000]
src/uu/sort/benches/sort_bench.rs
0%
482.6 ms482.4 ms
ls_recursive_long_all_deep_tree[(100, 4)]
src/uu/ls/benches/ls_bench.rs
0%
3.2 ms3.2 ms
b64_encode_synthetic
src/uu/base64/benches/base64_bench.rs
0%
144.9 µs144.8 µs
tsort_wide_dag[100000]
src/uu/tsort/benches/tsort_bench.rs
0%
135.5 ms135.5 ms
mv_single_file
src/uu/mv/benches/mv_bench.rs
0%
131.3 ms131.3 ms
ls_recursive_long_all_mixed_tree
src/uu/ls/benches/ls_bench.rs
0%
4 ms4 ms
tsort_tree_dag[(10, 3)]
src/uu/tsort/benches/tsort_bench.rs
0%
34.2 ms34.2 ms
ls_recursive_long_all_wide_tree[(15000, 1500)]
src/uu/ls/benches/ls_bench.rs
0%
147.8 ms147.8 ms
rm_single_file
src/uu/rm/benches/rm_bench.rs
0%
106.9 ms106.9 ms
mv_force_overwrite
src/uu/mv/benches/mv_bench.rs
0%
121.9 ms121.9 ms
cp_large_file[16]
src/uu/cp/benches/cp_bench.rs
0%
297.2 µs297.2 µs
split_lines
src/uu/split/benches/split_bench.rs
0%
6 ms6 ms
wc_lines_extreme_line_lengths[(100000, 200)]
src/uu/wc/benches/wc_bench.rs
0%
1.6 ms1.6 ms
hashsum_sha512
src/uu/hashsum/benches/hashsum_bench.rs
0%
111.7 ms111.7 ms
split_numeric_suffix
src/uu/split/benches/split_bench.rs
0%
6.1 ms6.1 ms
tsort_linear_chain[1000000]
src/uu/tsort/benches/tsort_bench.rs
0%
1.5 s1.5 s
wc_lines_large_line_count[500000]
src/uu/wc/benches/wc_bench.rs
0%
2.9 ms2.9 ms
mv_directory
src/uu/mv/benches/mv_bench.rs
0%
3.1 ms3.1 ms
sort_ascii_c_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
22.9 ms22.9 ms
wc_lines_variable_length[(50, 500)]
src/uu/wc/benches/wc_bench.rs
0%
3.4 ms3.4 ms
uniq_heavy_duplicates[10000]
src/uu/uniq/benches/uniq_bench.rs
0%
1.9 ms1.9 ms
sort_ascii_only[500000]
src/uu/sort/benches/sort_bench.rs
0%
353.1 ms353.1 ms
numfmt_to_si_precision[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
35.4 ms35.4 ms
numfmt_round_modes[("up", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
32.8 ms32.8 ms
numfmt_round_modes[("towards-zero", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34.5 ms34.5 ms
numfmt_to_iec[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34 ms34 ms
sort_case_sensitive[500000]
src/uu/sort/benches/sort_bench.rs
0%
173.7 ms173.7 ms
numfmt_large_numbers_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34.5 ms34.5 ms
numfmt_padding[(10000, 50)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
47 ms47 ms
numfmt_round_modes[("down", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34.6 ms34.6 ms
wc_words_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
0%
43.8 ms43.8 ms
nl_large_file[10]
src/uu/nl/benches/nl_bench.rs
0%
100.8 ms100.8 ms
wc_default_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
0%
48.9 ms48.9 ms
hashsum_md5_check
src/uu/hashsum/benches/hashsum_bench.rs
0%
32 ms32 ms
wc_bytes_lines_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
0%
120.2 ms120.2 ms
numfmt_from_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
33.2 ms33.2 ms
sort_case_insensitive[500000]
src/uu/sort/benches/sort_bench.rs
0%
282.6 ms282.6 ms
hashsum_sha1
src/uu/hashsum/benches/hashsum_bench.rs
0%
72.5 ms72.5 ms
wc_words_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
0%
10.3 s10.3 s
hashsum_sha256_check
src/uu/hashsum/benches/hashsum_bench.rs
0%
173.6 ms173.6 ms
unexpand_large_file[10]
src/uu/unexpand/benches/unexpand_bench.rs
0%
548 ms548 ms
sort_dictionary_order[500000]
src/uu/sort/benches/sort_bench.rs
0%
1.1 s1.1 s
hashsum_sha256
src/uu/hashsum/benches/hashsum_bench.rs
0%
173.6 ms173.6 ms
unexpand_many_lines[100000]
src/uu/unexpand/benches/unexpand_bench.rs
0%
261.4 ms261.4 ms
hashsum_md5
src/uu/hashsum/benches/hashsum_bench.rs
0%
32 ms32 ms
fold_many_lines[100000]
src/uu/fold/benches/fold_bench.rs
0%
125.4 ms125.4 ms
expand_many_lines[100000]
src/uu/expand/benches/expand_bench.rs
0%
100.9 ms100.9 ms
cut_fields_custom_delim
src/uu/cut/benches/cut_bench.rs
0%
40.5 ms40.5 ms
cut_fields_tab
src/uu/cut/benches/cut_bench.rs
0%
33.9 ms33.9 ms
nl_many_lines[100000]
src/uu/nl/benches/nl_bench.rs
0%
79.7 ms79.7 ms
rm_recursive_tree
src/uu/rm/benches/rm_bench.rs
0%
13.8 ms13.8 ms
sort_key_field[500000]
src/uu/sort/benches/sort_bench.rs
0%
716.9 ms716.9 ms
numfmt_to_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34 ms34 ms
seq_formatted
src/uu/seq/benches/seq_bench.rs
0%
100.1 ms100.1 ms
expand_custom_tabstops[50000]
src/uu/expand/benches/expand_bench.rs
0%
25.9 ms25.9 ms
fold_custom_width[50000]
src/uu/fold/benches/fold_bench.rs
0%
46.6 ms46.6 ms
ls_recursive_wide_tree[(10000, 1000)]
src/uu/ls/benches/ls_bench.rs
0%
51.3 ms51.3 ms
cut_bytes
src/uu/cut/benches/cut_bench.rs
0%
8.4 ms8.4 ms
seq_custom_separator
src/uu/seq/benches/seq_bench.rs
0%
29.2 ms29.2 ms
cut_characters
src/uu/cut/benches/cut_bench.rs
0%
7.5 ms7.5 ms
seq_integers
src/uu/seq/benches/seq_bench.rs
0%
26.7 ms26.7 ms
uniq_with_count[10000]
src/uu/uniq/benches/uniq_bench.rs
0%
1.8 ms1.8 ms
rm_multiple_files
src/uu/rm/benches/rm_bench.rs
0%
2.2 ms2.2 ms
sort_german_c_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
39 ms39 ms
sort_ascii_utf8_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
46.2 ms46.2 ms
sort_mixed_c_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
38.6 ms38.6 ms
seq_with_step
src/uu/seq/benches/seq_bench.rs
0%
13.6 ms13.6 ms
uniq_case_insensitive[10000]
src/uu/uniq/benches/uniq_bench.rs
0%
1.7 ms1.7 ms
rm_force_files
src/uu/rm/benches/rm_bench.rs
0%
2.1 ms2.1 ms
sort_reverse_locale[500000]
src/uu/sort/benches/sort_bench.rs
0%
361 ms361 ms
ls_recursive_deep_tree[(200, 2)]
src/uu/ls/benches/ls_bench.rs
0%
2.1 ms2.1 ms
split_bytes
src/uu/split/benches/split_bench.rs
0%
500.6 µs500.6 µs
wc_chars_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
0%
993.8 µs993.8 µs
ls_recursive_mixed_tree
src/uu/ls/benches/ls_bench.rs
0%
1.4 ms1.4 ms
sort_reverse_mixed
src/uu/sort/benches/sort_locale_bench.rs
0%
38.3 ms38.3 ms
ls_recursive_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
0%
55.8 ms55.8 ms
tsort_complex_dag[50000]
src/uu/tsort/benches/tsort_bench.rs
0%
84 ms84 ms
cp_recursive_wide_tree[(6000, 800)]
src/uu/cp/benches/cp_bench.rs
0%
188.3 ms188.3 ms
sort_numeric
src/uu/sort/benches/sort_locale_bench.rs
0%
23 ms23 ms
split_number_chunks
src/uu/split/benches/split_bench.rs
0%
274.9 µs274.9 µs
wc_bytes_synthetic[500]
src/uu/wc/benches/wc_bench.rs
0%
163.6 µs163.6 µs
sort_german_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
39 ms39 ms
b64_decode_ignore_garbage_synthetic
src/uu/base64/benches/base64_bench.rs
0%
148.9 µs148.9 µs
sort_unique_mixed
src/uu/sort/benches/sort_locale_bench.rs
0%
39.2 ms39.2 ms
b64_decode_synthetic
src/uu/base64/benches/base64_bench.rs
0%
148.1 µs148.1 µs
mv_multiple_to_dir
src/uu/mv/benches/mv_bench.rs
0%
13.1 ms13.1 ms
cp_recursive_deep_tree[(120, 4)]
src/uu/cp/benches/cp_bench.rs
0%
13.3 ms13.3 ms
du_human_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
0%
10.4 ms10.4 ms
cp_preserve_metadata[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
0%
74.2 ms74.3 ms
du_deep_tree[(100, 3)]
src/uu/du/benches/du_bench.rs
0%
1.1 ms1.1 ms
sort_numeric[500000]
src/uu/sort/benches/sort_bench.rs
0%
1.2 s1.2 s
du_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
0%
9.3 ms9.3 ms
du_max_depth_balanced_tree[(6, 4, 10)]
src/uu/du/benches/du_bench.rs
0%
33 ms33.1 ms
sort_mixed_data[500000]
src/uu/sort/benches/sort_bench.rs
0%
327.3 ms328.5 ms
du_all_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
0%
18.2 ms18.2 ms
du_summarize_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
0%
8.5 ms8.5 ms
du_all_balanced_tree[(4, 3, 10)]
src/uu/du/benches/du_bench.rs
-1%
1.6 ms1.6 ms
du_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
-1%
11.3 ms11.4 ms
Commits
Click on a commit to change the comparison range
Base
main
21ee64c
-0.02%
fix(dd): handle O_DIRECT partial block writes
Fix dd failures with 'IO Error: Invalid input' when using
oflag=direct with partial blocks. The issue occurs because O_DIRECT requires
proper alignment for all writes, but the final partial block may not meet
these requirements.
This fix:
- Detects EINVAL errors that might be O_DIRECT alignment issues
- Temporarily removes O_DIRECT flag using fcntl(F_SETFL)
- Retries the write operation without the direct flag
- Restores original flags (safer than GNU approach)
- Only activates on Linux/Android platforms where O_DIRECT is supported
Matches GNU dd behavior discovered through strace analysis.