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*
dd_copy_with_skip[48]
src/uu/dd/benches/dd_bench.rs
Skipped
2.2 ms*
dd_copy_1m_blocks[128]
src/uu/dd/benches/dd_bench.rs
Skipped
1.5 ms*
dd_copy_64k_blocks[64]
src/uu/dd/benches/dd_bench.rs
Skipped
609.9 µs*
dd_copy_8k_blocks[32]
src/uu/dd/benches/dd_bench.rs
Skipped
1 ms*
dd_copy_default[32]
src/uu/dd/benches/dd_bench.rs
Skipped
13.9 ms*
dd_copy_4k_blocks[24]
src/uu/dd/benches/dd_bench.rs
Skipped
1.3 ms*
dd_copy_with_seek[48]
src/uu/dd/benches/dd_bench.rs
Skipped
2.3 ms*
dd_copy_separate_blocks[48]
src/uu/dd/benches/dd_bench.rs
Skipped
44.1 ms*
dd_copy_partial[32]
src/uu/dd/benches/dd_bench.rs
Skipped
559.7 µs*
sort_german_c_locale
src/uu/sort/benches/sort_locale_bench.rs
Skipped
38.4 ms*
sort_numeric
src/uu/sort/benches/sort_locale_bench.rs
Skipped
23.9 ms*
sort_reverse_mixed
src/uu/sort/benches/sort_locale_bench.rs
Skipped
39.1 ms*
sort_ascii_utf8_locale
src/uu/sort/benches/sort_locale_bench.rs
Skipped
43.1 ms*
sort_mixed_c_locale
src/uu/sort/benches/sort_locale_bench.rs
Skipped
38.3 ms*
sort_unique_mixed
src/uu/sort/benches/sort_locale_bench.rs
Skipped
39.3 ms*
sort_ascii_c_locale
src/uu/sort/benches/sort_locale_bench.rs
Skipped
21.5 ms*
sort_mixed_utf8_locale
src/uu/sort/benches/sort_locale_bench.rs
Skipped
38.9 ms*
sort_german_locale
src/uu/sort/benches/sort_locale_bench.rs
Skipped
39.3 ms*
Passed
cp_large_file[16]
src/uu/cp/benches/cp_bench.rs
+1%
363.9 µs360.1 µs
du_max_depth_balanced_tree[(6, 4, 10)]
src/uu/du/benches/du_bench.rs
+1%
33.1 ms33 ms
cksum_multiple_files
src/uu/cksum/benches/cksum_bench.rs
0%
25.4 ms25.3 ms
du_summarize_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
0%
8.5 ms8.5 ms
ls_recursive_long_all_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
0%
134.5 ms134.3 ms
sort_case_sensitive[500000]
src/uu/sort/benches/sort_bench.rs
0%
174 ms173.8 ms
cp_preserve_metadata[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
0%
74.9 ms74.9 ms
ls_recursive_long_all_mixed_tree
src/uu/ls/benches/ls_bench.rs
0%
2.9 ms2.9 ms
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_wide_tree[(15000, 1500)]
src/uu/ls/benches/ls_bench.rs
0%
142.9 ms142.8 ms
du_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
0%
11.2 ms11.2 ms
sort_german_c_locale
src/uu/sort/benches/sort_locale_c_bench.rs
0%
39 ms39 ms
sort_mixed_c_locale
src/uu/sort/benches/sort_locale_c_bench.rs
0%
38.3 ms38.3 ms
cksum_default
src/uu/cksum/benches/cksum_bench.rs
0%
16.9 ms16.9 ms
b64_decode_synthetic
src/uu/base64/benches/base64_bench.rs
0%
166.3 µs166.3 µs
ls_recursive_mixed_tree
src/uu/ls/benches/ls_bench.rs
0%
1.4 ms1.4 ms
tsort_complex_dag[50000]
src/uu/tsort/benches/tsort_bench.rs
0%
84 ms84 ms
sort_mixed_utf8_locale
src/uu/sort/benches/sort_locale_utf8_bench.rs
0%
38.5 ms38.5 ms
ls_recursive_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
0%
55.3 ms55.3 ms
factor_multiple_u64s[2]
src/uu/factor/benches/factor_bench.rs
0%
212.3 ms212.3 ms
mv_force_overwrite
src/uu/mv/benches/mv_bench.rs
0%
144.3 ms144.3 ms
mv_single_file
src/uu/mv/benches/mv_bench.rs
0%
135.5 ms135.5 ms
uniq_case_insensitive[10000]
src/uu/uniq/benches/uniq_bench.rs
0%
1.8 ms1.8 ms
cksum_sha384
src/uu/cksum/benches/cksum_bench.rs
0%
1.1 s1.1 s
shuf_lines[100000]
src/uu/shuf/benches/shuf_bench.rs
0%
31.6 ms31.6 ms
uniq_heavy_duplicates[10000]
src/uu/uniq/benches/uniq_bench.rs
0%
2 ms2 ms
ls_recursive_deep_tree[(200, 2)]
src/uu/ls/benches/ls_bench.rs
0%
2.2 ms2.2 ms
cksum_sha512
src/uu/cksum/benches/cksum_bench.rs
0%
1.1 s1.1 s
sort_unique_locale[500000]
src/uu/sort/benches/sort_bench.rs
0%
494.1 ms494.1 ms
hashsum_sha512
src/uu/hashsum/benches/hashsum_bench.rs
0%
110.8 ms110.8 ms
sort_key_field[500000]
src/uu/sort/benches/sort_bench.rs
0%
701.7 ms701.7 ms
seq_large_integers
src/uu/seq/benches/seq_bench.rs
0%
2.2 ms2.2 ms
sort_reverse_locale[500000]
src/uu/sort/benches/sort_bench.rs
0%
361.8 ms361.8 ms
cp_recursive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
0%
72.3 ms72.3 ms
uniq_with_count[10000]
src/uu/uniq/benches/uniq_bench.rs
0%
1.9 ms1.9 ms
sort_ascii_c_locale
src/uu/sort/benches/sort_locale_c_bench.rs
0%
22.4 ms22.4 ms
ls_recursive_wide_tree[(10000, 1000)]
src/uu/ls/benches/ls_bench.rs
0%
51.5 ms51.5 ms
seq_with_step
src/uu/seq/benches/seq_bench.rs
0%
13.3 ms13.3 ms
numfmt_to_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
33.8 ms33.8 ms
numfmt_round_modes[("up", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34.3 ms34.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
numfmt_to_iec[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
33.8 ms33.8 ms
seq_integers
src/uu/seq/benches/seq_bench.rs
0%
26.1 ms26.1 ms
cut_fields_tab
src/uu/cut/benches/cut_bench.rs
0%
34.1 ms34.1 ms
seq_custom_separator
src/uu/seq/benches/seq_bench.rs
0%
28.7 ms28.7 ms
hashsum_md5_check
src/uu/hashsum/benches/hashsum_bench.rs
0%
32 ms32 ms
numfmt_from_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
32.8 ms32.8 ms
numfmt_large_numbers_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
32.5 ms32.5 ms
fold_custom_width[50000]
src/uu/fold/benches/fold_bench.rs
0%
33 ms33 ms
hashsum_sha256_check
src/uu/hashsum/benches/hashsum_bench.rs
0%
172.9 ms172.9 ms
seq_formatted
src/uu/seq/benches/seq_bench.rs
0%
96.1 ms96.1 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_sha256
src/uu/cksum/benches/cksum_bench.rs
0%
1.7 s1.7 s
wc_words_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
0%
11.4 s11.4 s
cksum_sha224
src/uu/cksum/benches/cksum_bench.rs
0%
1.7 s1.7 s
cksum_sm3
src/uu/cksum/benches/cksum_bench.rs
0%
1.6 s1.6 s
cksum_sha2
src/uu/cksum/benches/cksum_bench.rs
0%
1.7 s1.7 s
cksum_md5
src/uu/cksum/benches/cksum_bench.rs
0%
317.9 ms317.9 ms
cksum_sha1
src/uu/cksum/benches/cksum_bench.rs
0%
723.1 ms723.1 ms
unexpand_large_file[10]
src/uu/unexpand/benches/unexpand_bench.rs
0%
565.2 ms565.2 ms
expand_many_lines[100000]
src/uu/expand/benches/expand_bench.rs
0%
148.6 ms148.6 ms
cksum_blake2b
src/uu/cksum/benches/cksum_bench.rs
0%
192.8 ms192.8 ms
unexpand_many_lines[100000]
src/uu/unexpand/benches/unexpand_bench.rs
0%
269.6 ms269.6 ms
cksum_bsd
src/uu/cksum/benches/cksum_bench.rs
0%
128.3 ms128.3 ms
cut_bytes
src/uu/cut/benches/cut_bench.rs
0%
8.4 ms8.4 ms
numfmt_padding[(10000, 50)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
48 ms48 ms
cksum_sysv
src/uu/cksum/benches/cksum_bench.rs
0%
48.2 ms48.2 ms
fold_many_lines[100000]
src/uu/fold/benches/fold_bench.rs
0%
80.4 ms80.4 ms
wc_bytes_lines_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
0%
120.2 ms120.2 ms
cksum_crc32b
src/uu/cksum/benches/cksum_bench.rs
0%
13.3 ms13.3 ms
cksum_crc
src/uu/cksum/benches/cksum_bench.rs
0%
16.9 ms16.9 ms
cksum_sha3
src/uu/cksum/benches/cksum_bench.rs
0%
1.8 s1.8 s
numfmt_to_si_precision[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
35.3 ms35.3 ms
sort_ascii_utf8_locale
src/uu/sort/benches/sort_locale_utf8_bench.rs
0%
22.2 ms22.2 ms
wc_default_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
0%
50.4 ms50.4 ms
wc_words_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
0%
48 ms48 ms
nl_large_file[10]
src/uu/nl/benches/nl_bench.rs
0%
57.1 ms57.1 ms
nl_many_lines[100000]
src/uu/nl/benches/nl_bench.rs
0%
44.9 ms44.9 ms
split_lines
src/uu/split/benches/split_bench.rs
0%
5.7 ms5.7 ms
sort_numeric[500000]
src/uu/sort/benches/sort_bench.rs
0%
1.2 s1.2 s
expand_custom_tabstops[50000]
src/uu/expand/benches/expand_bench.rs
0%
36.9 ms36.9 ms
cut_fields_custom_delim
src/uu/cut/benches/cut_bench.rs
0%
40.8 ms40.8 ms
sort_numeric_utf8_locale
src/uu/sort/benches/sort_locale_utf8_bench.rs
0%
23.8 ms23.8 ms
sort_accented_data[500000]
src/uu/sort/benches/sort_bench.rs
0%
362.6 ms362.6 ms
rm_recursive_tree
src/uu/rm/benches/rm_bench.rs
0%
11.7 ms11.7 ms
mv_directory
src/uu/mv/benches/mv_bench.rs
0%
3.5 ms3.5 ms
cut_characters
src/uu/cut/benches/cut_bench.rs
0%
7.4 ms7.4 ms
rm_single_file
src/uu/rm/benches/rm_bench.rs
0%
119.3 ms119.3 ms
wc_lines_variable_length[(50, 500)]
src/uu/wc/benches/wc_bench.rs
0%
3.4 ms3.4 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
rm_force_files
src/uu/rm/benches/rm_bench.rs
0%
2 ms2 ms
rm_multiple_files
src/uu/rm/benches/rm_bench.rs
0%
2.2 ms2.2 ms
shuf_repeat_sampling[50000]
src/uu/shuf/benches/shuf_bench.rs
0%
5.1 ms5.1 ms
wc_lines_extreme_line_lengths[(100000, 200)]
src/uu/wc/benches/wc_bench.rs
0%
1.6 ms1.6 ms
hashsum_sha256
src/uu/hashsum/benches/hashsum_bench.rs
0%
172.9 ms173 ms
split_number_chunks
src/uu/split/benches/split_bench.rs
0%
294.4 µs294.4 µs
hashsum_sha1
src/uu/hashsum/benches/hashsum_bench.rs
0%
72.5 ms72.6 ms
wc_chars_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
0%
1 ms1 ms
split_numeric_suffix
src/uu/split/benches/split_bench.rs
0%
5.9 ms5.9 ms
sort_ascii_only[500000]
src/uu/sort/benches/sort_bench.rs
0%
353.8 ms353.8 ms
sort_case_insensitive[500000]
src/uu/sort/benches/sort_bench.rs
0%
276.7 ms276.7 ms
b64_decode_ignore_garbage_synthetic
src/uu/base64/benches/base64_bench.rs
0%
163.2 µs163.3 µs
shuf_input_range[1000000]
src/uu/shuf/benches/shuf_bench.rs
0%
229.4 ms229.4 ms
tsort_tree_dag[(10, 3)]
src/uu/tsort/benches/tsort_bench.rs
0%
34.1 ms34.1 ms
cksum_blake3
src/uu/cksum/benches/cksum_bench.rs
0%
208.6 µs208.6 µs
sort_mixed_data[500000]
src/uu/sort/benches/sort_bench.rs
0%
328.1 ms328.2 ms
hashsum_md5
src/uu/hashsum/benches/hashsum_bench.rs
0%
32 ms32 ms
split_bytes
src/uu/split/benches/split_bench.rs
0%
508.5 µs508.6 µs
b64_encode_synthetic
src/uu/base64/benches/base64_bench.rs
0%
161.9 µs161.9 µs
tsort_wide_dag[100000]
src/uu/tsort/benches/tsort_bench.rs
0%
133.4 ms133.4 ms
cp_recursive_wide_tree[(6000, 800)]
src/uu/cp/benches/cp_bench.rs
0%
189.5 ms189.6 ms
cp_recursive_deep_tree[(120, 4)]
src/uu/cp/benches/cp_bench.rs
0%
13.6 ms13.6 ms
dd_copy_separate_blocks
src/uu/dd/benches/dd_bench.rs
0%
44 ms44 ms
du_all_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
0%
18.1 ms18.1 ms
mv_multiple_to_dir
src/uu/mv/benches/mv_bench.rs
0%
12.9 ms12.9 ms
wc_bytes_synthetic[500]
src/uu/wc/benches/wc_bench.rs
0%
185.2 µs185.3 µs
sort_reverse_utf8_locale
src/uu/sort/benches/sort_locale_utf8_bench.rs
0%
38.7 ms38.7 ms
sort_german_de_locale
src/uu/sort/benches/sort_locale_de_bench.rs
0%
39 ms39 ms
cp_archive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
0%
77.9 ms78 ms
sort_long_line[160000]
src/uu/sort/benches/sort_bench.rs
0%
1.7 ms1.7 ms
sort_unique_utf8_locale
src/uu/sort/benches/sort_locale_utf8_bench.rs
0%
38.8 ms38.8 ms
sort_dictionary_order[500000]
src/uu/sort/benches/sort_bench.rs
0%
1.1 s1.1 s
dd_copy_1m_blocks
src/uu/dd/benches/dd_bench.rs
0%
1.5 ms1.5 ms
cksum_raw_output
src/uu/cksum/benches/cksum_bench.rs
0%
16.9 ms17 ms
du_deep_tree[(100, 3)]
src/uu/du/benches/du_bench.rs
-1%
1.2 ms1.2 ms
dd_copy_4k_blocks
src/uu/dd/benches/dd_bench.rs
-1%
1.3 ms1.4 ms
dd_copy_8k_blocks
src/uu/dd/benches/dd_bench.rs
-1%
1 ms1 ms
tsort_input_parsing_heavy[5000]
src/uu/tsort/benches/tsort_bench.rs
-1%
85.1 ms86 ms
dd_copy_with_skip
src/uu/dd/benches/dd_bench.rs
-1%
2.3 ms2.3 ms
dd_copy_default
src/uu/dd/benches/dd_bench.rs
-1%
14 ms14.1 ms
dd_copy_64k_blocks
src/uu/dd/benches/dd_bench.rs
-1%
604 µs612.7 µs
dd_copy_with_seek
src/uu/dd/benches/dd_bench.rs
-1%
2.3 ms2.3 ms
dd_copy_partial
src/uu/dd/benches/dd_bench.rs
-2%
550.8 µs562.5 µs
Commits
Click on a commit to change the comparison range
Base
main
1eea517
-0.01%
fix(dd): optimize O_DIRECT buffer alignment to reduce syscall overhead
Implement page-aligned buffer allocation and optimize O_DIRECT flag
handling to match GNU dd behavior.
Key changes:
- Add allocate_aligned_buffer() for page-aligned memory allocation
- Update buffer allocation to use aligned buffers
- Modify handle_o_direct_write() to only remove O_DIRECT for partial blocks
- Add Output::write_with_o_direct_handling() for proper O_DIRECT handling
- Add comprehensive unit and integration tests
Fixes #6078
2560240
2 months ago
by naoNao89
0%
fix(dd): fix test_o_direct_with_conv_flags to use compatible conv=sync flag
2719973
2 months ago
by naoNao89
-0.01%
fix(dd): remove test_o_direct_with_conv_flags - incompatible with O_DIRECT on ARM
O_DIRECT requires page-aligned buffers and writes. The conv=sync flag pads
output to block size, which may not be page-aligned, causing EINVAL errors
on ARM systems. The core O_DIRECT functionality is already well-tested by:
- test_o_direct_with_aligned_buffer_full_blocks
- test_o_direct_with_partial_final_block
- test_o_direct_various_block_sizes
a9b075b
2 months ago
by naoNao89
+0.03%
fix: remove trailing blank line in test_dd.rs to fix cargo fmt
114a50b
2 months ago
by naoNao89
-0.03%
Merge branch 'main' into feature/o-direct-buffer-alignment
120be59
3 days ago
by sylvestre
-29.36%
Fix PR #9104 review comments and clippy errors
- Remove dead code: non-Linux stub for handle_o_direct_write
The stub was unreachable since write_with_o_direct_handling already
has a non-Linux stub that doesn't call this helper function.
- Fix clippy::ptr-as-ptr lint error
Replace unsafe `as *mut u8` cast with safer `.cast::<u8>()` method
in allocate_aligned_buffer function.
Addresses review comments and CI/CD failures in PR #9104.
0d984d0
8 hours ago
by naoNao89
+29.29%
perf(dd): Remove unnecessary buffer initialization
Removed redundant buffer initialization in allocate_aligned_buffer that
was causing performance regression, especially for large block sizes.
- Eliminated O(n) write_bytes overhead that scaled with buffer size
- Fixes 29.36% regression for 1M blocks and 6.22% for 64K blocks
- Buffer is correctly filled during copy operations, making pre-init redundant