uutils
coreutils
BlogDocsChangelog

Refactor uniq field skipping to avoid allocations

#8703Merged
Comparing
mattsu2020:performance_tuning
(
1e25202
) with
main
(
f7490ca
)
CodSpeed Performance Gauge
×7.3
Improvements
2
Untouched
42
Skipped
64

Benchmarks

Skipped (64)

Improved

uniq_with_count[10000]
src/uu/uniq/benches/uniq_bench.rs
CodSpeed Performance Gauge
×7.3
13.4 ms1.8 ms
uniq_case_insensitive[10000]
src/uu/uniq/benches/uniq_bench.rs
CodSpeed Performance Gauge
×3
6 ms2 ms

Passed

tsort_input_parsing_heavy[50000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
119.9 µs119.4 µs
tsort_complex_dag[50000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
124.2 µs123.8 µs
tsort_wide_dag[100000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
122 µs121.5 µs
tsort_tree_dag[(10, 3)]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
125.7 µs125.2 µs
tsort_linear_chain[1000000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
126.1 µs125.6 µs
ls_recursive_long_all_wide_tree[(15000, 1500)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
96.4 ms96.4 ms
sort_case_insensitive[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
325.5 ms325.5 ms
ls_recursive_long_all_mixed_tree
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
1.8 ms1.8 ms
ls_recursive_wide_tree[(10000, 1000)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
46.4 ms46.4 ms
sort_dictionary_order[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
730 ms730 ms
sort_reverse_locale[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
817.7 ms817.7 ms
wc_lines_extreme_line_lengths[(100000, 200)]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
117.1 ms117.1 ms
wc_words_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
11.5 s11.5 s
wc_bytes_lines_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
11.5 s11.5 s
wc_bytes_synthetic[500]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
2.9 s2.9 s
wc_lines_variable_length[(50, 500)]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
285.7 ms285.7 ms
wc_lines_large_line_count[500000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
243.9 ms243.9 ms
wc_words_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
48.9 ms48.9 ms
wc_default_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
48.9 ms48.9 ms
wc_chars_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
48.9 ms48.9 ms
sort_numeric[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
919.2 ms919.2 ms
ls_recursive_long_all_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
563 µs563.1 µs
ls_recursive_long_all_deep_tree[(100, 4)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
464.8 µs465 µs
ls_recursive_mixed_tree
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
509.2 µs509.4 µs
ls_recursive_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
458.1 µs458.4 µs
ls_recursive_deep_tree[(200, 2)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
416.2 µs416.4 µs
sort_key_field[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
244.1 µs244.4 µs
sort_unique_locale[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
807.5 ms808.7 ms
sort_accented_data[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
263 µs263.6 µs
sort_mixed_data[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
263.1 µs263.7 µs
sort_ascii_only[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
263.8 µs264.5 µs
sort_case_sensitive[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
260.8 µs261.4 µs
numfmt_to_si[1000000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
181.9 µs182.4 µs
numfmt_from_si[1000000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
181.3 µs181.9 µs
numfmt_to_iec[1000000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
182 µs182.7 µs
numfmt_large_numbers_si[1000000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
179.4 µs180.1 µs
numfmt_padding[(1000000, 50)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
183.1 µs183.8 µs
numfmt_to_si_precision[1000000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
187.9 µs188.7 µs
numfmt_round_modes[("down", 1000000)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
185.1 µs185.9 µs
numfmt_round_modes[("towards-zero", 1000000)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
184.5 µs185.3 µs
uniq_heavy_duplicates[10000]
src/uu/uniq/benches/uniq_bench.rs
CodSpeed Performance Gauge
0%
154.4 µs155.2 µs
numfmt_round_modes[("up", 1000000)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
183.7 µs184.6 µs

Commits

Click on a commit to change the comparison range
Base
main
f7490ca
×7.3
fix fmt
1e25202
14 days ago
by mattsu2020
© 2025 CodSpeed Technology
Home Terms Privacy Docs