Avatar for the uutils user
uutils
coreutils
BlogDocsChangelog

expr: speed up index from O(N*M) to O(N+M)

#12580
Comparing
sylvestre:expr-speed-up-index
(
1ce6a07
) with
main
(
0011d54
)
CodSpeed Performance Gauge
×16,000
Improvement
2
Untouched
321
Ignored
1
Skipped
46

Benchmarks

370 total
index_no_match
src/uu/expr/benches/expr_bench.rs
CodSpeed Performance Gauge
×16,000
19,663 ms1.2 ms
index_match_at_end
src/uu/expr/benches/expr_bench.rs
CodSpeed Performance Gauge
×16,000
19,662.9 ms1.2 ms
du_summarize_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
+2%
6.8 ms6.7 ms
du_max_depth_balanced_tree[(6, 4, 10)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
+1%
26 ms25.6 ms
sort_ascii_only[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
326.6 ms325.1 ms
sort_unique_locale[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
466 ms465 ms
cksum_multiple_files
src/uu/cksum/benches/cksum_bench.rs
CodSpeed Performance Gauge
0%
25.1 ms25 ms
du_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
9.3 ms9.3 ms
socket_addrs_direct[100000]
src/uu/hostname/benches/hostname_bench.rs
CodSpeed Performance Gauge
0%
54.7 µs54.6 µs
b64_decode_synthetic
src/uu/base64/benches/base64_bench.rs
CodSpeed Performance Gauge
0%
63.6 µs63.5 µs
b64_decode_ignore_garbage_synthetic
src/uu/base64/benches/base64_bench.rs
CodSpeed Performance Gauge
0%
63.4 µs63.3 µs
single_date_now
src/uu/date/benches/date_bench.rs
CodSpeed Performance Gauge
0%
85.5 µs85.4 µs
du_all_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
16.2 ms16.2 ms
dd_copy_8k_blocks
src/uu/dd/benches/dd_bench.rs
CodSpeed Performance Gauge
0%
785.7 µs784.7 µs
cp_archive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
77.4 ms77.4 ms
df_deep_directory
src/uu/df/benches/df_bench.rs
CodSpeed Performance Gauge
0%
353.3 µs353.1 µs
df_with_path
src/uu/df/benches/df_bench.rs
CodSpeed Performance Gauge
0%
304.8 µs304.6 µs
complex_relative_date
src/uu/date/benches/date_bench.rs
CodSpeed Performance Gauge
0%
136.2 µs136.1 µs
dd_copy_with_seek
src/uu/dd/benches/dd_bench.rs
CodSpeed Performance Gauge
0%
2.1 ms2.1 ms
b64_encode_synthetic
src/uu/base64/benches/base64_bench.rs
CodSpeed Performance Gauge
0%
59.1 µs59.1 µs
merge_pre_sorted_files
src/uu/sort/benches/sort_bench_merge.rs
CodSpeed Performance Gauge
0%
102.9 ms102.8 ms
split_number_chunks
src/uu/split/benches/split_bench.rs
CodSpeed Performance Gauge
0%
141.8 µs141.8 µs
cp_preserve_metadata[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
74.1 ms74.1 ms
cp_recursive_deep_tree[(120, 4)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
13.1 ms13.1 ms
split_bytes
src/uu/split/benches/split_bench.rs
CodSpeed Performance Gauge
0%
387.3 µs387.2 µs

Commits

Click on a commit to change the comparison range
Base
main
0011d54
×16,000
expr: speed up index from O(N*M) to O(N+M)
1ce6a07
10 hours ago
by sylvestre
© 2026 CodSpeed Technology
Home Terms Privacy Docs