75 archived benchmarks were run. If they were deleted in another branch, consider rebasing to remove them from the report. .
Passed
du_max_depth_balanced_tree[(6, 4, 10)]
src/uu/du/benches/du_bench.rs
+1%
33.3 ms33 ms
du_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
+1%
11.3 ms11.3 ms
du_all_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
0%
18.2 ms18.1 ms
sort_unique_mixed
src/uu/sort/benches/sort_locale_bench.rs
0%
39.2 ms39.1 ms
du_deep_tree[(100, 3)]
src/uu/du/benches/du_bench.rs
0%
1.1 ms1.1 ms
cp_recursive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
0%
71.6 ms71.5 ms
cp_recursive_wide_tree[(6000, 800)]
src/uu/cp/benches/cp_bench.rs
0%
188 ms187.9 ms
du_all_balanced_tree[(4, 3, 10)]
src/uu/du/benches/du_bench.rs
0%
1.6 ms1.6 ms
ls_recursive_long_all_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
0%
138.5 ms138.5 ms
ls_recursive_long_all_deep_tree[(100, 4)]
src/uu/ls/benches/ls_bench.rs
0%
3.2 ms3.1 ms
mv_multiple_to_dir
src/uu/mv/benches/mv_bench.rs
0%
13.1 ms13.1 ms
tsort_complex_dag[50000]
src/uu/tsort/benches/tsort_bench.rs
0%
84 ms83.9 ms
wc_bytes_synthetic[500]
src/uu/wc/benches/wc_bench.rs
0%
163.8 µs163.7 µs
ls_recursive_deep_tree[(200, 2)]
src/uu/ls/benches/ls_bench.rs
0%
2.1 ms2.1 ms
cp_recursive_deep_tree[(120, 4)]
src/uu/cp/benches/cp_bench.rs
0%
13.3 ms13.3 ms
b64_encode_synthetic
src/uu/base64/benches/base64_bench.rs
0%
145.1 µs145.1 µs
sort_mixed_c_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
38.9 ms38.9 ms
hashsum_md5
src/uu/hashsum/benches/hashsum_bench.rs
0%
32 ms32 ms
tsort_tree_dag[(10, 3)]
src/uu/tsort/benches/tsort_bench.rs
0%
34.2 ms34.2 ms
cp_large_file[16]
src/uu/cp/benches/cp_bench.rs
0%
297.7 µs297.7 µs
hashsum_sha1
src/uu/hashsum/benches/hashsum_bench.rs
0%
72.5 ms72.5 ms
rm_single_file
src/uu/rm/benches/rm_bench.rs
0%
106.9 ms106.9 ms
hashsum_sha512
src/uu/hashsum/benches/hashsum_bench.rs
0%
111.7 ms111.7 ms
mv_force_overwrite
src/uu/mv/benches/mv_bench.rs
0%
121.8 ms121.8 ms
ls_recursive_long_all_mixed_tree
src/uu/ls/benches/ls_bench.rs
0%
4 ms4 ms
ls_recursive_long_all_wide_tree[(15000, 1500)]
src/uu/ls/benches/ls_bench.rs
0%
147.8 ms147.7 ms
sort_dictionary_order[500000]
src/uu/sort/benches/sort_bench.rs
0%
1.1 s1.1 s
wc_lines_extreme_line_lengths[(100000, 200)]
src/uu/wc/benches/wc_bench.rs
0%
1.6 ms1.6 ms
split_lines
src/uu/split/benches/split_bench.rs
0%
6 ms6 ms
mv_single_file
src/uu/mv/benches/mv_bench.rs
0%
131.3 ms131.3 ms
hashsum_sha256
src/uu/hashsum/benches/hashsum_bench.rs
0%
173.6 ms173.6 ms
mv_directory
src/uu/mv/benches/mv_bench.rs
0%
3.1 ms3.1 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
rm_force_files
src/uu/rm/benches/rm_bench.rs
0%
2.1 ms2.1 ms
uniq_with_count[10000]
src/uu/uniq/benches/uniq_bench.rs
0%
1.8 ms1.8 ms
cut_bytes
src/uu/cut/benches/cut_bench.rs
0%
8.4 ms8.4 ms
ls_recursive_wide_tree[(10000, 1000)]
src/uu/ls/benches/ls_bench.rs
0%
51.3 ms51.3 ms
numfmt_to_si_precision[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
35.4 ms35.4 ms
numfmt_to_iec[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34.1 ms34.1 ms
wc_lines_large_line_count[500000]
src/uu/wc/benches/wc_bench.rs
0%
2.9 ms2.9 ms
cut_fields_tab
src/uu/cut/benches/cut_bench.rs
0%
33.9 ms33.9 ms
numfmt_large_numbers_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34.5 ms34.5 ms
wc_words_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
0%
43.8 ms43.8 ms
sort_ascii_only[500000]
src/uu/sort/benches/sort_bench.rs
0%
353.1 ms353.1 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.8 ms100.8 ms
numfmt_padding[(10000, 50)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
47.1 ms47.1 ms
fold_many_lines[100000]
src/uu/fold/benches/fold_bench.rs
0%
125.4 ms125.4 ms
numfmt_to_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34.1 ms34.1 ms
wc_default_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
0%
48.9 ms48.9 ms
numfmt_round_modes[("towards-zero", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34.6 ms34.6 ms
wc_bytes_lines_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
0%
120.2 ms120.2 ms
numfmt_round_modes[("up", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
32.8 ms32.8 ms
fold_custom_width[50000]
src/uu/fold/benches/fold_bench.rs
0%
46.6 ms46.6 ms
hashsum_sha256_check
src/uu/hashsum/benches/hashsum_bench.rs
0%
173.6 ms173.6 ms
expand_many_lines[100000]
src/uu/expand/benches/expand_bench.rs
0%
100.9 ms100.9 ms
wc_words_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
0%
10.3 s10.3 s
sort_case_insensitive[500000]
src/uu/sort/benches/sort_bench.rs
0%
282.6 ms282.6 ms
nl_many_lines[100000]
src/uu/nl/benches/nl_bench.rs
0%
79.7 ms79.7 ms
sort_accented_data[500000]
src/uu/sort/benches/sort_bench.rs
0%
361.9 ms361.9 ms
unexpand_large_file[10]
src/uu/unexpand/benches/unexpand_bench.rs
0%
548 ms548 ms
sort_reverse_locale[500000]
src/uu/sort/benches/sort_bench.rs
0%
361 ms361 ms
unexpand_many_lines[100000]
src/uu/unexpand/benches/unexpand_bench.rs
0%
261.4 ms261.4 ms
numfmt_round_modes[("down", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
0%
34.6 ms34.6 ms
sort_key_field[500000]
src/uu/sort/benches/sort_bench.rs
0%
716.9 ms716.9 ms
numfmt_from_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
0%
33.2 ms33.2 ms
cut_fields_custom_delim
src/uu/cut/benches/cut_bench.rs
0%
40.5 ms40.5 ms
seq_formatted
src/uu/seq/benches/seq_bench.rs
0%
99.7 ms99.7 ms
cut_characters
src/uu/cut/benches/cut_bench.rs
0%
7.5 ms7.5 ms
sort_mixed_utf8_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
38.9 ms38.9 ms
sort_german_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
39 ms39 ms
expand_custom_tabstops[50000]
src/uu/expand/benches/expand_bench.rs
0%
25.9 ms25.9 ms
seq_custom_separator
src/uu/seq/benches/seq_bench.rs
0%
29.2 ms29.2 ms
b64_decode_ignore_garbage_synthetic
src/uu/base64/benches/base64_bench.rs
0%
149.4 µs149.4 µs
seq_integers
src/uu/seq/benches/seq_bench.rs
0%
26.7 ms26.7 ms
sort_ascii_c_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
22.5 ms22.5 ms
seq_with_step
src/uu/seq/benches/seq_bench.rs
0%
13.6 ms13.6 ms
split_numeric_suffix
src/uu/split/benches/split_bench.rs
0%
6.1 ms6.1 ms
sort_reverse_mixed
src/uu/sort/benches/sort_locale_bench.rs
0%
38.3 ms38.3 ms
sort_numeric
src/uu/sort/benches/sort_locale_bench.rs
0%
23 ms23 ms
split_bytes
src/uu/split/benches/split_bench.rs
0%
499.4 µs499.4 µs
sort_mixed_data[500000]
src/uu/sort/benches/sort_bench.rs
0%
327.2 ms327.2 ms
wc_chars_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
0%
993.9 µs994 µs
sort_ascii_utf8_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
44.3 ms44.3 ms
rm_multiple_files
src/uu/rm/benches/rm_bench.rs
0%
2.2 ms2.2 ms
sort_long_line[160000]
src/uu/sort/benches/sort_bench.rs
0%
1.9 ms1.9 ms
ls_recursive_mixed_tree
src/uu/ls/benches/ls_bench.rs
0%
1.4 ms1.4 ms
split_number_chunks
src/uu/split/benches/split_bench.rs
0%
275 µs275 µs
sort_case_sensitive[500000]
src/uu/sort/benches/sort_bench.rs
0%
173.7 ms173.7 ms
uniq_case_insensitive[10000]
src/uu/uniq/benches/uniq_bench.rs
0%
1.7 ms1.7 ms
ls_recursive_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
0%
55.7 ms55.8 ms
tsort_linear_chain[1000000]
src/uu/tsort/benches/tsort_bench.rs
0%
1.5 s1.5 s
tsort_wide_dag[100000]
src/uu/tsort/benches/tsort_bench.rs
0%
135.5 ms135.6 ms
b64_decode_synthetic
src/uu/base64/benches/base64_bench.rs
0%
148.6 µs148.6 µs
sort_german_c_locale
src/uu/sort/benches/sort_locale_bench.rs
0%
39 ms39 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.1 ms74.2 ms
rm_recursive_tree
src/uu/rm/benches/rm_bench.rs
0%
13.8 ms13.8 ms
sort_numeric[500000]
src/uu/sort/benches/sort_bench.rs
0%
1.2 s1.2 s
cp_archive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
0%
76.8 ms77 ms
du_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
0%
9.3 ms9.3 ms
sort_unique_locale[500000]
src/uu/sort/benches/sort_bench.rs
-1%
479.8 ms482.4 ms
du_summarize_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
-1%
8.5 ms8.6 ms
Commits
Click on a commit to change the comparison range
Base
main
3b2cb6a
+3.21%
refactor: use execvp directly instead of process::Command
- Replace process::Command execution with direct execvp call via libc for improved performance by avoiding process forking
- Add validation to detect and error on commands containing null bytes
- Capture and handle execution errors using the last OS error after execvp failure
f10599d
12 days ago
by mattsu2020
-3.2%
refactor(chroot): replace manual execvp with ProcessCommand for safer execution
Simplified the command execution by using Rust's standard ProcessCommand instead of direct libc calls, improving code readability and reducing manual memory management.
09d7390
12 days ago
by mattsu2020
-0.02%
test(chroot): add tests for error handling and UID/GID retention
Added three new tests to verify chroot behavior:
- Test for command not found, expecting exit code 127 and "No such file or directory" error.
- Test for permission denied, expecting exit code 126 and "Permission denied" error.
- Test to confirm UID and GID are retained as root (0) inside the chroot.
These tests enhance coverage for edge cases and ensure robust error reporting, requiring root privileges to run.
9dabf96
10 days ago
by mattsu2020
+0.01%
chore: add 'noexec' to cspell jargon wordlist for spell checking
Added 'noexec' to the jargon wordlist to recognize this technical term and avoid false positives during spell checking in the project.