Skip to content

Drop release-fast profile for simplicity#10476

Merged
sylvestre merged 1 commit intouutils:mainfrom
oech3:pro
Feb 6, 2026
Merged

Drop release-fast profile for simplicity#10476
sylvestre merged 1 commit intouutils:mainfrom
oech3:pro

Conversation

@oech3
Copy link
Contributor

@oech3 oech3 commented Jan 25, 2026

Closes #10470 . preliminary for #10368 to reduce binary size.

@codspeed-hq
Copy link

codspeed-hq bot commented Jan 25, 2026

CodSpeed Performance Report

Merging this PR will improve performance by 32.04%

Comparing oech3:pro (9787b41) with main (5e5968c)1

Summary

⚡ 11 improved benchmarks
✅ 273 untouched benchmarks
⏩ 38 skipped benchmarks2

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation sort_key_field[500000] 1,028.7 ms 853.4 ms +20.54%
Simulation seq_formatted 96.5 ms 93.6 ms +3.16%
Simulation seq_with_step 14.1 ms 13.6 ms +3.29%
Simulation seq_integers 27.6 ms 26.7 ms +3.24%
Simulation cut_fields_tab 34.8 ms 27.3 ms +27.7%
Simulation cut_fields_custom_delim 41.3 ms 31.3 ms +32.04%
Simulation file_custom_format 13.3 ms 11.8 ms +12.3%
Simulation file_iso_dates 13.8 ms 12.4 ms +11.18%
Simulation file_tz_abbreviations 18.3 ms 17 ms +7.39%
Simulation nl_many_lines[100000] 46.1 ms 42.9 ms +7.52%
Simulation nl_large_file[10] 58.8 ms 54.6 ms +7.62%

Footnotes

  1. No successful run was found on main (b556119) during the generation of this report, so 5e5968c was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

  2. 38 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@oech3 oech3 marked this pull request as ready for review January 25, 2026 05:57
@oech3

This comment was marked as resolved.

@github-actions
Copy link

GNU testsuite comparison:

Skipping an intermittent issue tests/shuf/shuf-reservoir (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/sort/sort-stale-thread-mem (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/tty/tty-eof (passes in this run but fails in the 'main' branch)
Congrats! The gnu test tests/tail/retry is no longer failing!

@github-actions
Copy link

GNU testsuite comparison:

Skipping an intermittent issue tests/shuf/shuf-reservoir (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/sort/sort-stale-thread-mem (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/tty/tty-eof (passes in this run but fails in the 'main' branch)
Congrats! The gnu test tests/tail/retry is no longer failing!

@oech3
Copy link
Contributor Author

oech3 commented Jan 25, 2026

@blyxxyz Any idea about performance regression or shuf with codegen-units=1?

@github-actions
Copy link

GNU testsuite comparison:

Skipping an intermittent issue tests/shuf/shuf-reservoir (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/sort/sort-stale-thread-mem (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/tty/tty-eof (passes in this run but fails in the 'main' branch)
Congrats! The gnu test tests/tail/retry is no longer failing!

@oech3 oech3 marked this pull request as draft January 25, 2026 12:35
@blyxxyz
Copy link
Contributor

blyxxyz commented Jan 25, 2026

I don't know.

shuf_input_range might benefit from an inlined itoa so codegen-units could affect it for that reason. But I'm not sure that inlining really matters, though I do know that itoa is a bottleneck.

shuf is inherently random so the benchmarks could also be flaky for that reason. To make it deterministic you can add a --random-seed=abcdef option.

@oech3
Copy link
Contributor Author

oech3 commented Jan 25, 2026

To clarify, performance regression was caused by cgu=1 before your commit.
If we freeze seeds of benches, it should be different PR.

@oech3 oech3 force-pushed the pro branch 2 times, most recently from 787c9e3 to cf2d9be Compare January 25, 2026 14:22
@github-actions
Copy link

GNU testsuite comparison:

Skipping an intermittent issue tests/shuf/shuf-reservoir (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/sort/sort-stale-thread-mem (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/tty/tty-eof (passes in this run but fails in the 'main' branch)
Congrats! The gnu test tests/tail/retry is no longer failing!

@github-actions
Copy link

GNU testsuite comparison:

Skipping an intermittent issue tests/shuf/shuf-reservoir (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/sort/sort-stale-thread-mem (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/tty/tty-eof (passes in this run but fails in the 'main' branch)
Congrats! The gnu test tests/tail/retry is no longer failing!

@oech3 oech3 force-pushed the pro branch 2 times, most recently from 1ce96cb to 2ac1bcd Compare January 25, 2026 15:26
@github-actions
Copy link

GNU testsuite comparison:

Skip an intermittent issue tests/tail/inotify-dir-recreate (fails in this run but passes in the 'main' branch)

@oech3 oech3 force-pushed the pro branch 5 times, most recently from 9a94722 to e3b1118 Compare January 25, 2026 16:24
@github-actions
Copy link

GNU testsuite comparison:

Skipping an intermittent issue tests/tty/tty-eof (passes in this run but fails in the 'main' branch)

@oech3

This comment was marked as resolved.

@github-actions
Copy link

GNU testsuite comparison:

Skip an intermittent issue tests/shuf/shuf-reservoir (fails in this run but passes in the 'main' branch)
Skip an intermittent issue tests/sort/sort-stale-thread-mem (fails in this run but passes in the 'main' branch)
Skipping an intermittent issue tests/tty/tty-eof (passes in this run but fails in the 'main' branch)

@oech3 oech3 force-pushed the pro branch 2 times, most recently from 08e1379 to 3cb141d Compare January 25, 2026 17:09
@github-actions
Copy link

GNU testsuite comparison:

Skip an intermittent issue tests/shuf/shuf-reservoir (fails in this run but passes in the 'main' branch)
Skip an intermittent issue tests/sort/sort-stale-thread-mem (fails in this run but passes in the 'main' branch)

@oech3 oech3 marked this pull request as draft January 25, 2026 18:14
@oech3 oech3 marked this pull request as ready for review January 25, 2026 21:55
@oech3
Copy link
Contributor Author

oech3 commented Jan 25, 2026

shuf_input_range[1000000] 126.3 ms 130.6 ms -3.3%. This is not one covered by #10478 ...

@oech3
Copy link
Contributor Author

oech3 commented Jan 27, 2026

@sylvestre Do you accept shuf regression for 11 benches at #10476 (comment) ?

@github-actions
Copy link

GNU testsuite comparison:

Skipping an intermittent issue tests/tail/inotify-dir-recreate (passes in this run but fails in the 'main' branch)

@oech3
Copy link
Contributor Author

oech3 commented Feb 2, 2026

Let's see rustc-hash + cgu=1 performance.

@github-actions
Copy link

github-actions bot commented Feb 2, 2026

GNU testsuite comparison:

Congrats! The gnu test tests/basenc/bounded-memory is now passing!

@oech3
Copy link
Contributor Author

oech3 commented Feb 2, 2026

96.1 ms -> 93.8 ms at [shuf_input_range[1000000]!
But expand and unexpand hyper regress...

@github-actions
Copy link

github-actions bot commented Feb 2, 2026

GNU testsuite comparison:

Skipping an intermittent issue tests/shuf/shuf-reservoir (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/sort/sort-stale-thread-mem (passes in this run but fails in the 'main' branch)

@oech3
Copy link
Contributor Author

oech3 commented Feb 4, 2026

Including #10657

@github-actions
Copy link

github-actions bot commented Feb 4, 2026

GNU testsuite comparison:

Skipping an intermittent issue tests/tail/inotify-dir-recreate (passes in this run but fails in the 'main' branch)

@github-actions
Copy link

github-actions bot commented Feb 4, 2026

GNU testsuite comparison:

Skipping an intermittent issue tests/tail/inotify-dir-recreate (passes in this run but fails in the 'main' branch)

@oech3
Copy link
Contributor Author

oech3 commented Feb 5, 2026

I think we can force cgu=16 for *expand binaries, but I think it is impossible for multi-call binary.

@oech3
Copy link
Contributor Author

oech3 commented Feb 5, 2026

Merging this PR will improve performance by 32.04%

Maybe, ready to merge this. We don't bench multi-call binary's perf already.

@sylvestre sylvestre merged commit bdf3b82 into uutils:main Feb 6, 2026
156 checks passed
@oech3 oech3 deleted the pro branch February 7, 2026 04:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cargo.toml: Remove(migrate) release-fast profile

3 participants