Skip to content

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 degrade performance by 42.15%

Comparing oech3:pro (c830d43) with main (fb6a2bb)

Summary

⚡ 11 improved benchmarks
❌ 4 regressed benchmarks
✅ 127 untouched benchmarks
⏩ 180 skipped benchmarks1

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation sort_key_field[500000] 1,026.7 ms 851.4 ms +20.59%
Simulation expand_custom_tabstops[50000] 25.1 ms 42 ms -40.12%
Simulation expand_many_lines[100000] 96.4 ms 166.7 ms -42.15%
Simulation nl_many_lines[100000] 46.1 ms 42.9 ms +7.51%
Simulation nl_large_file[10] 58.8 ms 54.6 ms +7.62%
Simulation file_iso_dates 13.8 ms 12.3 ms +11.53%
Simulation file_custom_format 13.2 ms 11.8 ms +12.31%
Simulation file_tz_abbreviations 18.3 ms 17 ms +7.32%
Simulation unexpand_many_lines[100000] 258.7 ms 300.8 ms -14%
Simulation unexpand_large_file[10] 542.3 ms 630.6 ms -14%
Simulation cut_fields_custom_delim 41.4 ms 31.3 ms +32.49%
Simulation cut_fields_tab 34.9 ms 27.3 ms +27.8%
Simulation seq_formatted 96.5 ms 93.6 ms +3.16%
Simulation seq_integers 27.6 ms 26.7 ms +3.24%
Simulation seq_with_step 14.1 ms 13.6 ms +3.29%

Footnotes

  1. 180 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 marked this pull request as ready for review January 25, 2026 16:39
@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)

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

2 participants