uutils
coreutils
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
tac: use temp file for stdin to respect TMPDIR and handle disk-full errors
#10094
Comparing
ChrisDryden:tac-stdin-tempfile
(
61788e3
) with
main
(
20a5c3a
)
CodSpeed Performance Gauge
+4%
Improvements
1
Untouched
139
Skipped
37
Benchmarks
Skipped (37)
Improved
tsort_input_parsing_heavy[5000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
+4%
73.7 ms
71 ms
Passed
dd_copy_partial
src/uu/dd/benches/dd_bench.rs
CodSpeed Performance Gauge
+1%
572.1 µs
563.8 µs
dd_copy_64k_blocks
src/uu/dd/benches/dd_bench.rs
CodSpeed Performance Gauge
+1%
618.1 µs
612.1 µs
dd_copy_4k_blocks
src/uu/dd/benches/dd_bench.rs
CodSpeed Performance Gauge
0%
1.3 ms
1.3 ms
cksum_crc32b
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
13.1 ms
13.1 ms
dd_copy_with_seek
src/uu/dd/benches/dd_bench.rs
CodSpeed Performance Gauge
0%
2.3 ms
2.3 ms
sort_unique_locale[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
484.4 ms
483.4 ms
cksum_raw_output
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
16.8 ms
16.8 ms
dd_copy_1m_blocks
src/uu/dd/benches/dd_bench.rs
CodSpeed Performance Gauge
0%
1.5 ms
1.5 ms
du_summarize_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
8.5 ms
8.5 ms
cp_archive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
78 ms
77.9 ms
cksum_sysv
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
48.2 ms
48.2 ms
cp_recursive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
72.4 ms
72.4 ms
cksum_bsd
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
128.3 ms
128.3 ms
ls_recursive_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
55.5 ms
55.5 ms
du_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
11.2 ms
11.2 ms
factor_multiple_u64s[2]
src/uu/factor/benches/factor_bench.rs
CodSpeed Performance Gauge
0%
224.3 ms
224.3 ms
sort_unique_utf8_locale
src/uu/sort/benches/sort_locale_utf8_bench.rs
CodSpeed Performance Gauge
0%
38 ms
38 ms
b64_decode_ignore_garbage_synthetic
src/uu/base64/benches/base64_bench.rs
CodSpeed Performance Gauge
0%
169 µs
168.9 µs
cp_preserve_metadata[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
75 ms
75 ms
ls_recursive_mixed_tree
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
1.4 ms
1.4 ms
sort_mixed_c_locale
src/uu/sort/benches/sort_locale_c_bench.rs
CodSpeed Performance Gauge
0%
37.2 ms
37.2 ms
sort_mixed_utf8_locale
src/uu/sort/benches/sort_locale_utf8_bench.rs
CodSpeed Performance Gauge
0%
37.7 ms
37.7 ms
shuf_repeat_sampling[50000]
src/uu/shuf/benches/shuf_bench.rs
CodSpeed Performance Gauge
0%
5.2 ms
5.2 ms
sort_mixed_data[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
317.7 ms
317.7 ms
split_lines
src/uu/split/benches/split_bench.rs
CodSpeed Performance Gauge
0%
5.7 ms
5.7 ms
mv_single_file
src/uu/mv/benches/mv_bench.rs
CodSpeed Performance Gauge
0%
140.9 ms
140.9 ms
split_numeric_suffix
src/uu/split/benches/split_bench.rs
CodSpeed Performance Gauge
0%
5.9 ms
5.9 ms
b64_decode_synthetic
src/uu/base64/benches/base64_bench.rs
CodSpeed Performance Gauge
0%
171 µs
171 µs
ls_recursive_long_all_wide_tree[(15000, 1500)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
139.8 ms
139.8 ms
sort_case_sensitive[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
164 ms
164 ms
b64_encode_synthetic
src/uu/base64/benches/base64_bench.rs
CodSpeed Performance Gauge
0%
168.5 µs
168.5 µs
dd_copy_default
src/uu/dd/benches/dd_bench.rs
CodSpeed Performance Gauge
0%
14 ms
14 ms
tsort_complex_dag[50000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
86.4 ms
86.4 ms
tsort_tree_dag[(10, 3)]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
34.7 ms
34.7 ms
split_bytes
src/uu/split/benches/split_bench.rs
CodSpeed Performance Gauge
0%
515.7 µs
515.7 µs
sort_german_c_locale
src/uu/sort/benches/sort_locale_c_bench.rs
CodSpeed Performance Gauge
0%
37.9 ms
37.9 ms
uniq_case_insensitive[10000]
src/uu/uniq/benches/uniq_bench.rs
CodSpeed Performance Gauge
0%
1.7 ms
1.7 ms
cksum_sm3
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.6 s
1.6 s
mv_force_overwrite
src/uu/mv/benches/mv_bench.rs
CodSpeed Performance Gauge
0%
149.5 ms
149.5 ms
cksum_sha256
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.7 s
1.7 s
join_full_match
src/uu/join/benches/join_bench.rs
CodSpeed Performance Gauge
0%
12.8 ms
12.8 ms
file_tz_abbreviations
src/uu/date/benches/date_bench.rs
CodSpeed Performance Gauge
0%
18.6 ms
18.6 ms
numfmt_to_iec[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
33.8 ms
33.8 ms
numfmt_from_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
32.8 ms
32.8 ms
numfmt_large_numbers_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
32.5 ms
32.5 ms
numfmt_round_modes[("towards-zero", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
34.3 ms
34.3 ms
numfmt_round_modes[("up", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
34.3 ms
34.3 ms
cksum_blake3
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
219.2 µs
219.2 µs
numfmt_to_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
33.8 ms
33.8 ms
numfmt_round_modes[("down", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
34.3 ms
34.3 ms
numfmt_padding[(10000, 50)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
48 ms
48 ms
sort_general_numeric[200000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
723.8 ms
723.8 ms
numfmt_to_si_precision[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
35.3 ms
35.3 ms
sort_dictionary_order[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
1.1 s
1.1 s
cksum_sha3
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.8 s
1.8 s
cut_bytes
src/uu/cut/benches/cut_bench.rs
CodSpeed Performance Gauge
0%
8.4 ms
8.4 ms
cksum_default
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
16.8 ms
16.8 ms
sort_reverse_locale[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
350.9 ms
350.9 ms
sort_numeric[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
1.2 s
1.2 s
expand_custom_tabstops[50000]
src/uu/expand/benches/expand_bench.rs
CodSpeed Performance Gauge
0%
36.9 ms
36.9 ms
sort_accented_data[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
351.8 ms
351.8 ms
cksum_blake2b
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
192.8 ms
192.8 ms
expand_many_lines[100000]
src/uu/expand/benches/expand_bench.rs
CodSpeed Performance Gauge
0%
148.6 ms
148.6 ms
cksum_md5
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
317.9 ms
317.9 ms
cksum_sha1
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
723 ms
723 ms
cksum_sha224
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.7 s
1.7 s
unexpand_large_file[10]
src/uu/unexpand/benches/unexpand_bench.rs
CodSpeed Performance Gauge
0%
529 ms
529 ms
cksum_shake256
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.9 s
1.9 s
cksum_shake128
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.5 s
1.5 s
cut_fields_tab
src/uu/cut/benches/cut_bench.rs
CodSpeed Performance Gauge
0%
34.1 ms
34.1 ms
wc_words_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
11.4 s
11.4 s
unexpand_many_lines[100000]
src/uu/unexpand/benches/unexpand_bench.rs
CodSpeed Performance Gauge
0%
252.3 ms
252.3 ms
cksum_sha2
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.7 s
1.7 s
fold_custom_width[50000]
src/uu/fold/benches/fold_bench.rs
CodSpeed Performance Gauge
0%
33.1 ms
33.1 ms
fold_many_lines[100000]
src/uu/fold/benches/fold_bench.rs
CodSpeed Performance Gauge
0%
80.4 ms
80.4 ms
seq_formatted
src/uu/seq/benches/seq_bench.rs
CodSpeed Performance Gauge
0%
96.1 ms
96.1 ms
wc_bytes_lines_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
120.2 ms
120.2 ms
sort_ascii_only[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
343 ms
343 ms
file_iso_dates
src/uu/date/benches/date_bench.rs
CodSpeed Performance Gauge
0%
14 ms
14 ms
wc_words_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
48 ms
48 ms
seq_custom_separator
src/uu/seq/benches/seq_bench.rs
CodSpeed Performance Gauge
0%
28.7 ms
28.7 ms
nl_large_file[10]
src/uu/nl/benches/nl_bench.rs
CodSpeed Performance Gauge
0%
57.2 ms
57.2 ms
nl_many_lines[100000]
src/uu/nl/benches/nl_bench.rs
CodSpeed Performance Gauge
0%
44.9 ms
44.9 ms
seq_with_step
src/uu/seq/benches/seq_bench.rs
CodSpeed Performance Gauge
0%
13.3 ms
13.3 ms
wc_default_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
50.4 ms
50.4 ms
cut_fields_custom_delim
src/uu/cut/benches/cut_bench.rs
CodSpeed Performance Gauge
0%
40.8 ms
40.8 ms
seq_integers
src/uu/seq/benches/seq_bench.rs
CodSpeed Performance Gauge
0%
26.1 ms
26.1 ms
sort_reverse_utf8_locale
src/uu/sort/benches/sort_locale_utf8_bench.rs
CodSpeed Performance Gauge
0%
37.6 ms
37.6 ms
ls_recursive_long_all_mixed_tree
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
2.8 ms
2.8 ms
ls_recursive_long_all_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
128.8 ms
128.8 ms
ls_recursive_deep_tree[(200, 2)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
2.2 ms
2.2 ms
sort_numeric_utf8_locale
src/uu/sort/benches/sort_locale_utf8_bench.rs
CodSpeed Performance Gauge
0%
22.8 ms
22.8 ms
rm_recursive_tree
src/uu/rm/benches/rm_bench.rs
CodSpeed Performance Gauge
0%
11.8 ms
11.8 ms
ls_recursive_wide_tree[(10000, 1000)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
52.8 ms
52.8 ms
mv_directory
src/uu/mv/benches/mv_bench.rs
CodSpeed Performance Gauge
0%
3.5 ms
3.5 ms
file_custom_format
src/uu/date/benches/date_bench.rs
CodSpeed Performance Gauge
0%
13.4 ms
13.4 ms
join_partial_overlap
src/uu/join/benches/join_bench.rs
CodSpeed Performance Gauge
0%
10.5 ms
10.5 ms
sort_ascii_utf8_locale
src/uu/sort/benches/sort_locale_utf8_bench.rs
CodSpeed Performance Gauge
0%
21.4 ms
21.4 ms
sort_ascii_c_locale
src/uu/sort/benches/sort_locale_c_bench.rs
CodSpeed Performance Gauge
0%
20.2 ms
20.2 ms
uniq_heavy_duplicates[10000]
src/uu/uniq/benches/uniq_bench.rs
CodSpeed Performance Gauge
0%
1.9 ms
1.9 ms
join_custom_separator
src/uu/join/benches/join_bench.rs
CodSpeed Performance Gauge
0%
12.1 ms
12.1 ms
uniq_with_count[10000]
src/uu/uniq/benches/uniq_bench.rs
CodSpeed Performance Gauge
0%
1.8 ms
1.8 ms
wc_lines_variable_length[(50, 500)]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
3.5 ms
3.5 ms
cut_characters
src/uu/cut/benches/cut_bench.rs
CodSpeed Performance Gauge
0%
7.4 ms
7.4 ms
wc_lines_large_line_count[500000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
2.9 ms
2.9 ms
shuf_input_range[1000000]
src/uu/shuf/benches/shuf_bench.rs
CodSpeed Performance Gauge
0%
163.5 ms
163.5 ms
rm_force_files
src/uu/rm/benches/rm_bench.rs
CodSpeed Performance Gauge
0%
2 ms
2 ms
wc_lines_extreme_line_lengths[(100000, 200)]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
1.6 ms
1.6 ms
seq_large_integers
src/uu/seq/benches/seq_bench.rs
CodSpeed Performance Gauge
0%
2.2 ms
2.2 ms
sort_case_insensitive[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
265.9 ms
265.9 ms
cksum_sha512
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.1 s
1.1 s
cksum_sha384
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
1.1 s
1.1 s
rm_multiple_files
src/uu/rm/benches/rm_bench.rs
CodSpeed Performance Gauge
0%
2.2 ms
2.2 ms
sort_key_field[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
690.9 ms
690.9 ms
join_french_locale
src/uu/join/benches/join_bench.rs
CodSpeed Performance Gauge
0%
12.8 ms
12.8 ms
cp_recursive_wide_tree[(6000, 800)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
189.7 ms
189.7 ms
shuf_lines[100000]
src/uu/shuf/benches/shuf_bench.rs
CodSpeed Performance Gauge
0%
31.6 ms
31.6 ms
split_number_chunks
src/uu/split/benches/split_bench.rs
CodSpeed Performance Gauge
0%
289.4 µs
289.4 µs
wc_chars_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
1 ms
1 ms
rm_single_file
src/uu/rm/benches/rm_bench.rs
CodSpeed Performance Gauge
0%
123.8 ms
123.8 ms
tsort_linear_chain[1000000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
1.6 s
1.6 s
tsort_wide_dag[100000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
131.5 ms
131.5 ms
mv_multiple_to_dir
src/uu/mv/benches/mv_bench.rs
CodSpeed Performance Gauge
0%
12.9 ms
12.9 ms
du_max_depth_balanced_tree[(6, 4, 10)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
33 ms
33 ms
cksum_crc
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
16.7 ms
16.7 ms
sort_german_de_locale
src/uu/sort/benches/sort_locale_de_bench.rs
CodSpeed Performance Gauge
0%
37.9 ms
37.9 ms
wc_bytes_synthetic[500]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
191.6 µs
191.7 µs
complex_relative_date
src/uu/date/benches/date_bench.rs
CodSpeed Performance Gauge
0%
247.4 µs
247.5 µs
cp_large_file[16]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
371.2 µs
371.4 µs
ls_recursive_long_all_deep_tree[(100, 4)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
3.2 ms
3.2 ms
sort_long_line[160000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
1.7 ms
1.7 ms
dd_copy_with_skip
src/uu/dd/benches/dd_bench.rs
CodSpeed Performance Gauge
0%
2.3 ms
2.3 ms
single_date_now
src/uu/date/benches/date_bench.rs
CodSpeed Performance Gauge
0%
190.7 µs
190.9 µs
cp_recursive_deep_tree[(120, 4)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
13.6 ms
13.7 ms
dd_copy_8k_blocks
src/uu/dd/benches/dd_bench.rs
CodSpeed Performance Gauge
0%
1 ms
1 ms
dd_copy_separate_blocks
src/uu/dd/benches/dd_bench.rs
CodSpeed Performance Gauge
0%
44 ms
44.1 ms
du_deep_tree[(100, 3)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
1.2 ms
1.2 ms
du_all_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
18 ms
18.1 ms
cksum_multiple_files
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
-1%
25.1 ms
25.2 ms
Commits
Click on a commit to change the comparison range
Base
main
20a5c3a
-0.02%
tac: use temp file for stdin to respect TMPDIR and handle disk-full errors
ffc61cc
3 days ago
by ChrisDryden
+0.02%
tac: fall back to memory when TMPDIR is invalid, add to root tests
977c752
3 days ago
by ChrisDryden
+3.86%
tac: use mmap instead of reading temp file back into Vec
61788e3
2 days ago
by ChrisDryden
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs