Avatar for the uutils user
uutils
coreutils
BlogDocsChangelog

sort: fix newline handling across large and/or multiple files

#8746
Comparing
jacob-greenfield:sort-fix-buffer-read
(
f2448e2
) with
main
(
f1c8a72
)
CodSpeed Performance Gauge
0%
Regressions
1
Untouched
92
Skipped
1

Benchmarks

Skipped (1)

Failed

sort_case_sensitive[100000]Regression
src/uu/sort/benches/sort_bench.rs::sort_case_sensitive[100000]
CodSpeed Performance Gauge
-2%
251.9 µs257.2 µs

Passed

sort_ascii_only[500000]
src/uu/sort/benches/sort_bench.rs::sort_ascii_only[500000]
CodSpeed Performance Gauge
0%
263.6 µs263 µs
sort_ascii_only[100000]
src/uu/sort/benches/sort_bench.rs::sort_ascii_only[100000]
CodSpeed Performance Gauge
0%
263.2 µs262.6 µs
sort_mixed_data[100000]
src/uu/sort/benches/sort_bench.rs::sort_mixed_data[100000]
CodSpeed Performance Gauge
0%
261.4 µs260.8 µs
sort_key_field[100000]
src/uu/sort/benches/sort_bench.rs::sort_key_field[100000]
CodSpeed Performance Gauge
0%
235.2 µs234.8 µs
sort_key_field[500000]
src/uu/sort/benches/sort_bench.rs::sort_key_field[500000]
CodSpeed Performance Gauge
0%
250 µs249.7 µs
sort_accented_data[500000]
src/uu/sort/benches/sort_bench.rs::sort_accented_data[500000]
CodSpeed Performance Gauge
0%
260.4 µs260 µs
sort_accented_data[100000]
src/uu/sort/benches/sort_bench.rs::sort_accented_data[100000]
CodSpeed Performance Gauge
0%
261.3 µs261 µs
sort_case_sensitive[500000]
src/uu/sort/benches/sort_bench.rs::sort_case_sensitive[500000]
CodSpeed Performance Gauge
0%
258.3 µs258 µs
sort_case_insensitive[100000]
src/uu/sort/benches/sort_bench.rs::sort_case_insensitive[100000]
CodSpeed Performance Gauge
0%
64.3 ms64.3 ms
ls_recursive_deep_tree[(100, 1)]
src/uu/ls/benches/ls_bench.rs::ls_recursive_deep_tree[(100, 1)]
CodSpeed Performance Gauge
0%
395.6 µs395.5 µs
ls_recursive_long_all_deep_tree[(20, 3)]
src/uu/ls/benches/ls_bench.rs::ls_recursive_long_all_deep_tree[(20, 3)]
CodSpeed Performance Gauge
0%
498 µs497.8 µs
ls_recursive_long_all_deep_tree[(50, 2)]
src/uu/ls/benches/ls_bench.rs::ls_recursive_long_all_deep_tree[(50, 2)]
CodSpeed Performance Gauge
0%
481.3 µs481.1 µs
ls_recursive_deep_tree[(20, 3)]
src/uu/ls/benches/ls_bench.rs::ls_recursive_deep_tree[(20, 3)]
CodSpeed Performance Gauge
0%
391.1 µs391 µs
ls_recursive_balanced_tree[(3, 4, 8)]
src/uu/ls/benches/ls_bench.rs::ls_recursive_balanced_tree[(3, 4, 8)]
CodSpeed Performance Gauge
0%
435.9 µs435.8 µs
ls_recursive_balanced_tree[(5, 2, 10)]
src/uu/ls/benches/ls_bench.rs::ls_recursive_balanced_tree[(5, 2, 10)]
CodSpeed Performance Gauge
0%
435.1 µs435 µs
ls_recursive_long_all_balanced_tree[(4, 3, 6)]
src/uu/ls/benches/ls_bench.rs::ls_recursive_long_all_balanced_tree[(4, 3, 6)]
CodSpeed Performance Gauge
0%
514.2 µs514.1 µs
ls_recursive_long_all_balanced_tree[(3, 4, 8)]
src/uu/ls/benches/ls_bench.rs::ls_recursive_long_all_balanced_tree[(3, 4, 8)]
CodSpeed Performance Gauge
0%
534.6 µs534.5 µs
ls_recursive_balanced_tree[(4, 3, 6)]
src/uu/ls/benches/ls_bench.rs::ls_recursive_balanced_tree[(4, 3, 6)]
CodSpeed Performance Gauge
0%
428.6 µs428.5 µs
ls_recursive_deep_tree[(50, 2)]
src/uu/ls/benches/ls_bench.rs::ls_recursive_deep_tree[(50, 2)]
CodSpeed Performance Gauge
0%
407 µs406.9 µs
ls_recursive_long_all_balanced_tree[(5, 2, 10)]
src/uu/ls/benches/ls_bench.rs::ls_recursive_long_all_balanced_tree[(5, 2, 10)]
CodSpeed Performance Gauge
0%
524.7 µs524.6 µs
ls_recursive_long_all_wide_tree[(1000, 200)]
src/uu/ls/benches/ls_bench.rs::ls_recursive_long_all_wide_tree[(1000, 200)]
CodSpeed Performance Gauge
0%
6.8 ms6.8 ms
numfmt_round_modes[("down", 1000000)]
src/uu/numfmt/benches/numfmt_bench.rs::numfmt_round_modes[("down", 1000000)]
CodSpeed Performance Gauge
0%
185.3 µs185.3 µs
ls_recursive_long_all_wide_tree[(5000, 500)]
src/uu/ls/benches/ls_bench.rs::ls_recursive_long_all_wide_tree[(5000, 500)]
CodSpeed Performance Gauge
0%
32.5 ms32.5 ms
ls_recursive_mixed_tree
src/uu/ls/benches/ls_bench.rs::ls_recursive_mixed_tree
CodSpeed Performance Gauge
0%
515.7 µs515.7 µs
sort_mixed_data[500000]
src/uu/sort/benches/sort_bench.rs::sort_mixed_data[500000]
CodSpeed Performance Gauge
0%
257.6 µs257.6 µs
ls_recursive_long_all_mixed_tree
src/uu/ls/benches/ls_bench.rs::ls_recursive_long_all_mixed_tree
CodSpeed Performance Gauge
0%
1.9 ms1.9 ms
sort_dictionary_order[100000]
src/uu/sort/benches/sort_bench.rs::sort_dictionary_order[100000]
CodSpeed Performance Gauge
0%
143.6 ms143.6 ms
tsort_linear_chain[100000]
src/uu/tsort/benches/tsort_bench.rs::tsort_linear_chain[100000]
CodSpeed Performance Gauge
0%
126.5 µs126.5 µs
tsort_input_parsing_heavy[50000]
src/uu/tsort/benches/tsort_bench.rs::tsort_input_parsing_heavy[50000]
CodSpeed Performance Gauge
0%
125.1 µs125.1 µs
tsort_linear_chain[10000]
src/uu/tsort/benches/tsort_bench.rs::tsort_linear_chain[10000]
CodSpeed Performance Gauge
0%
126.1 µs126.1 µs
sort_case_insensitive[500000]
src/uu/sort/benches/sort_bench.rs::sort_case_insensitive[500000]
CodSpeed Performance Gauge
0%
328 ms328 ms
numfmt_round_modes[("towards-zero", 1000000)]
src/uu/numfmt/benches/numfmt_bench.rs::numfmt_round_modes[("towards-zero", 1000000)]
CodSpeed Performance Gauge
0%
185.6 µs185.6 µs
sort_numeric[500000]
src/uu/sort/benches/sort_bench.rs::sort_numeric[500000]
CodSpeed Performance Gauge
0%
921.1 ms921.1 ms
numfmt_padding[(1000000, 5)]
src/uu/numfmt/benches/numfmt_bench.rs::numfmt_padding[(1000000, 5)]
CodSpeed Performance Gauge
0%
185.2 µs185.2 µs
sort_unique_locale[500000]
src/uu/sort/benches/sort_bench.rs::sort_unique_locale[500000]
CodSpeed Performance Gauge
0%
810.7 ms810.7 ms
wc_lines_large_line_count[10000]
src/uu/wc/benches/wc_bench.rs::wc_lines_large_line_count[10000]
CodSpeed Performance Gauge
0%
5 ms5 ms
wc_default_large_line_count[10000]
src/uu/wc/benches/wc_bench.rs::wc_default_large_line_count[10000]
CodSpeed Performance Gauge
0%
5 ms5 ms
wc_chars_large_line_count[10000]
src/uu/wc/benches/wc_bench.rs::wc_chars_large_line_count[10000]
CodSpeed Performance Gauge
0%
5 ms5 ms
wc_lines_extreme_line_lengths[(100000, 10)]
src/uu/wc/benches/wc_bench.rs::wc_lines_extreme_line_lengths[(100000, 10)]
CodSpeed Performance Gauge
0%
9.2 ms9.2 ms
ls_recursive_wide_tree[(5000, 500)]
src/uu/ls/benches/ls_bench.rs::ls_recursive_wide_tree[(5000, 500)]
CodSpeed Performance Gauge
0%
23.9 ms23.9 ms
wc_lines_variable_length[(5, 50)]
src/uu/wc/benches/wc_bench.rs::wc_lines_variable_length[(5, 50)]
CodSpeed Performance Gauge
0%
28.9 ms28.9 ms
wc_lines_variable_length[(5, 200)]
src/uu/wc/benches/wc_bench.rs::wc_lines_variable_length[(5, 200)]
CodSpeed Performance Gauge
0%
28.7 ms28.7 ms
sort_dictionary_order[500000]
src/uu/sort/benches/sort_bench.rs::sort_dictionary_order[500000]
CodSpeed Performance Gauge
0%
732.2 ms732.2 ms
wc_lines_large_line_count[50000]
src/uu/wc/benches/wc_bench.rs::wc_lines_large_line_count[50000]
CodSpeed Performance Gauge
0%
24.5 ms24.5 ms
wc_chars_large_line_count[50000]
src/uu/wc/benches/wc_bench.rs::wc_chars_large_line_count[50000]
CodSpeed Performance Gauge
0%
24.5 ms24.5 ms
sort_reverse_locale[500000]
src/uu/sort/benches/sort_bench.rs::sort_reverse_locale[500000]
CodSpeed Performance Gauge
0%
820.9 ms820.9 ms
wc_bytes_synthetic[10]
src/uu/wc/benches/wc_bench.rs::wc_bytes_synthetic[10]
CodSpeed Performance Gauge
0%
57.5 ms57.5 ms
wc_words_large_line_count[50000]
src/uu/wc/benches/wc_bench.rs::wc_words_large_line_count[50000]
CodSpeed Performance Gauge
0%
24.5 ms24.5 ms
wc_lines_variable_length[(5, 100)]
src/uu/wc/benches/wc_bench.rs::wc_lines_variable_length[(5, 100)]
CodSpeed Performance Gauge
0%
28.8 ms28.8 ms
sort_unique_locale[100000]
src/uu/sort/benches/sort_bench.rs::sort_unique_locale[100000]
CodSpeed Performance Gauge
0%
158.2 ms158.2 ms
wc_default_large_line_count[50000]
src/uu/wc/benches/wc_bench.rs::wc_default_large_line_count[50000]
CodSpeed Performance Gauge
0%
24.5 ms24.5 ms
wc_lines_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs::wc_lines_large_line_count[100000]
CodSpeed Performance Gauge
0%
48.9 ms48.9 ms
wc_words_synthetic[10]
src/uu/wc/benches/wc_bench.rs::wc_words_synthetic[10]
CodSpeed Performance Gauge
0%
57.5 ms57.5 ms
wc_chars_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs::wc_chars_large_line_count[100000]
CodSpeed Performance Gauge
0%
48.9 ms48.9 ms
wc_bytes_lines_synthetic[10]
src/uu/wc/benches/wc_bench.rs::wc_bytes_lines_synthetic[10]
CodSpeed Performance Gauge
0%
57.5 ms57.5 ms
wc_lines_extreme_line_lengths[(100000, 200)]
src/uu/wc/benches/wc_bench.rs::wc_lines_extreme_line_lengths[(100000, 200)]
CodSpeed Performance Gauge
0%
117.1 ms117.1 ms
wc_words_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs::wc_words_large_line_count[100000]
CodSpeed Performance Gauge
0%
48.9 ms48.9 ms
wc_default_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs::wc_default_large_line_count[100000]
CodSpeed Performance Gauge
0%
48.9 ms48.9 ms
wc_bytes_synthetic[50]
src/uu/wc/benches/wc_bench.rs::wc_bytes_synthetic[50]
CodSpeed Performance Gauge
0%
286.7 ms286.7 ms
wc_lines_large_line_count[500000]
src/uu/wc/benches/wc_bench.rs::wc_lines_large_line_count[500000]
CodSpeed Performance Gauge
0%
243.9 ms243.9 ms
wc_bytes_synthetic[100]
src/uu/wc/benches/wc_bench.rs::wc_bytes_synthetic[100]
CodSpeed Performance Gauge
0%
573.3 ms573.3 ms
wc_bytes_lines_synthetic[100]
src/uu/wc/benches/wc_bench.rs::wc_bytes_lines_synthetic[100]
CodSpeed Performance Gauge
0%
573.3 ms573.3 ms
wc_words_synthetic[1000]
src/uu/wc/benches/wc_bench.rs::wc_words_synthetic[1000]
CodSpeed Performance Gauge
0%
5.7 s5.7 s
wc_bytes_lines_synthetic[1000]
src/uu/wc/benches/wc_bench.rs::wc_bytes_lines_synthetic[1000]
CodSpeed Performance Gauge
0%
5.7 s5.7 s
wc_words_synthetic[100]
src/uu/wc/benches/wc_bench.rs::wc_words_synthetic[100]
CodSpeed Performance Gauge
0%
573.3 ms573.3 ms
sort_reverse_locale[100000]
src/uu/sort/benches/sort_bench.rs::sort_reverse_locale[100000]
CodSpeed Performance Gauge
0%
158.6 ms158.6 ms
wc_lines_variable_length[(5, 500)]
src/uu/wc/benches/wc_bench.rs::wc_lines_variable_length[(5, 500)]
CodSpeed Performance Gauge
0%
28.7 ms28.7 ms
ls_recursive_wide_tree[(1000, 200)]
src/uu/ls/benches/ls_bench.rs::ls_recursive_wide_tree[(1000, 200)]
CodSpeed Performance Gauge
0%
5.3 ms5.3 ms
wc_words_large_line_count[10000]
src/uu/wc/benches/wc_bench.rs::wc_words_large_line_count[10000]
CodSpeed Performance Gauge
0%
5 ms5 ms
ls_recursive_wide_tree[(10000, 1000)]
src/uu/ls/benches/ls_bench.rs::ls_recursive_wide_tree[(10000, 1000)]
CodSpeed Performance Gauge
0%
48.4 ms48.4 ms
numfmt_padding[(1000000, 50)]
src/uu/numfmt/benches/numfmt_bench.rs::numfmt_padding[(1000000, 50)]
CodSpeed Performance Gauge
0%
188.3 µs188.3 µs
sort_numeric[100000]
src/uu/sort/benches/sort_bench.rs::sort_numeric[100000]
CodSpeed Performance Gauge
0%
192.7 ms192.7 ms
tsort_linear_chain[1000000]
src/uu/tsort/benches/tsort_bench.rs::tsort_linear_chain[1000000]
CodSpeed Performance Gauge
0%
126.2 µs126.3 µs
tsort_input_parsing_heavy[10000]
src/uu/tsort/benches/tsort_bench.rs::tsort_input_parsing_heavy[10000]
CodSpeed Performance Gauge
0%
120 µs120 µs
numfmt_to_si[1000000]
src/uu/numfmt/benches/numfmt_bench.rs::numfmt_to_si[1000000]
CodSpeed Performance Gauge
0%
182.2 µs182.2 µs
tsort_tree_dag[(6, 2)]
src/uu/tsort/benches/tsort_bench.rs::tsort_tree_dag[(6, 2)]
CodSpeed Performance Gauge
0%
126.3 µs126.3 µs
tsort_complex_dag[5000]
src/uu/tsort/benches/tsort_bench.rs::tsort_complex_dag[5000]
CodSpeed Performance Gauge
0%
125.8 µs125.8 µs
tsort_tree_dag[(4, 3)]
src/uu/tsort/benches/tsort_bench.rs::tsort_tree_dag[(4, 3)]
CodSpeed Performance Gauge
0%
126.1 µs126.1 µs
numfmt_from_si[1000000]
src/uu/numfmt/benches/numfmt_bench.rs::numfmt_from_si[1000000]
CodSpeed Performance Gauge
0%
182.4 µs182.4 µs
tsort_complex_dag[1000]
src/uu/tsort/benches/tsort_bench.rs::tsort_complex_dag[1000]
CodSpeed Performance Gauge
0%
126.1 µs126.1 µs
tsort_tree_dag[(7, 2)]
src/uu/tsort/benches/tsort_bench.rs::tsort_tree_dag[(7, 2)]
CodSpeed Performance Gauge
0%
125.8 µs125.8 µs
numfmt_large_numbers_si[1000000]
src/uu/numfmt/benches/numfmt_bench.rs::numfmt_large_numbers_si[1000000]
CodSpeed Performance Gauge
0%
182.9 µs183 µs
numfmt_to_iec[1000000]
src/uu/numfmt/benches/numfmt_bench.rs::numfmt_to_iec[1000000]
CodSpeed Performance Gauge
0%
183.5 µs183.6 µs
numfmt_round_modes[("up", 100000)]
src/uu/numfmt/benches/numfmt_bench.rs::numfmt_round_modes[("up", 100000)]
CodSpeed Performance Gauge
0%
183.6 µs183.7 µs
tsort_complex_dag[10000]
src/uu/tsort/benches/tsort_bench.rs::tsort_complex_dag[10000]
CodSpeed Performance Gauge
0%
126.2 µs126.2 µs
tsort_complex_dag[50000]
src/uu/tsort/benches/tsort_bench.rs::tsort_complex_dag[50000]
CodSpeed Performance Gauge
0%
126.3 µs126.3 µs
tsort_tree_dag[(5, 3)]
src/uu/tsort/benches/tsort_bench.rs::tsort_tree_dag[(5, 3)]
CodSpeed Performance Gauge
0%
125.7 µs125.7 µs
tsort_linear_chain[1000]
src/uu/tsort/benches/tsort_bench.rs::tsort_linear_chain[1000]
CodSpeed Performance Gauge
0%
126.2 µs126.3 µs
numfmt_to_si_precision[1000000]
src/uu/numfmt/benches/numfmt_bench.rs::numfmt_to_si_precision[1000000]
CodSpeed Performance Gauge
0%
187 µs187.1 µs
tsort_wide_dag[100000]
src/uu/tsort/benches/tsort_bench.rs::tsort_wide_dag[100000]
CodSpeed Performance Gauge
0%
126.1 µs126.2 µs
tsort_wide_dag[50000]
src/uu/tsort/benches/tsort_bench.rs::tsort_wide_dag[50000]
CodSpeed Performance Gauge
0%
125.6 µs125.6 µs
tsort_wide_dag[10000]
src/uu/tsort/benches/tsort_bench.rs::tsort_wide_dag[10000]
CodSpeed Performance Gauge
0%
125.6 µs125.6 µs

Commits

Click on a commit to change the comparison range
Base
main
f1c8a72
-0.01%
sort: add test for sorting a file which triggers a buffer resize
f2448e2
9 hours ago
by jacob-greenfield
© 2025 CodSpeed Technology
Home Terms Privacy Docs