Skip to content

sort: implement locale aware sort + document the impact on the performances#8752

Closed
sylvestre wants to merge 4 commits into
uutils:mainfrom
sylvestre:sort-perf
Closed

sort: implement locale aware sort + document the impact on the performances#8752
sylvestre wants to merge 4 commits into
uutils:mainfrom
sylvestre:sort-perf

Conversation

@sylvestre

Copy link
Copy Markdown
Contributor

No description provided.

@github-actions

Copy link
Copy Markdown

GNU testsuite comparison:

Skip an intermittent issue tests/misc/stdbuf (fails in this run but passes in the 'main' branch)
Skip an intermittent issue tests/tail/overlay-headers (fails in this run but passes in the 'main' branch)
Skip an intermittent issue tests/timeout/timeout (fails in this run but passes in the 'main' branch)
Skipping an intermittent issue tests/misc/tee (passes in this run but fails in the 'main' branch)

@codspeed-hq

codspeed-hq Bot commented Sep 27, 2025

Copy link
Copy Markdown

CodSpeed Performance Report

Merging #8752 will degrade performances by 86.45%

Comparing sylvestre:sort-perf (b263838) with main (909da50)

Summary

❌ 18 regressions
✅ 88 untouched
⏩ 73 skipped1

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

Benchmarks breakdown

Benchmark BASE HEAD Change
sort_accented_data[500000] 831.2 ms 1,518.3 ms -45.25%
sort_ascii_only[500000] 809.3 ms 1,483.1 ms -45.43%
sort_case_insensitive[500000] 427.8 ms 440.9 ms -2.97%
sort_case_sensitive[500000] 337.7 ms 564 ms -40.12%
sort_dictionary_order[500000] 1.1 s 1.1 s -2.72%
sort_key_field[500000] 699.8 ms 1,114.5 ms -37.21%
sort_mixed_data[500000] 739.1 ms 1,342.8 ms -44.96%
sort_reverse_locale[500000] 830.1 ms 1,521 ms -45.43%
sort_unique_locale[500000] 1.2 s 2.2 s -46.7%
sort_ascii_c_locale 29.8 ms 91.2 ms -67.39%
sort_ascii_utf8_locale 59.6 ms 182.5 ms -67.37%
sort_german_c_locale 95.5 ms 704.8 ms -86.45%
sort_german_locale 95.5 ms 704.8 ms -86.45%
sort_mixed_c_locale 95.1 ms 622.9 ms -84.74%
sort_mixed_utf8_locale 95.1 ms 622.9 ms -84.74%
sort_random_strings 56.2 ms 225 ms -75.01%
sort_reverse_mixed 94.2 ms 630.8 ms -85.06%
sort_unique_mixed 88.6 ms 541.9 ms -83.65%

Footnotes

  1. 73 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.

@github-actions

Copy link
Copy Markdown

GNU testsuite comparison:

GNU test failed: tests/sort/sort-rand. tests/sort/sort-rand is passing on 'main'. Maybe you have to rebase?
Skip an intermittent issue tests/tail/overlay-headers (fails in this run but passes in the 'main' branch)
Skip an intermittent issue tests/timeout/timeout (fails in this run but passes in the 'main' branch)
Skipping an intermittent issue tests/misc/tee (passes in this run but fails in the 'main' branch)

@github-actions

Copy link
Copy Markdown

GNU testsuite comparison:

GNU test failed: tests/sort/sort-rand. tests/sort/sort-rand is passing on 'main'. Maybe you have to rebase?

@sylvestre sylvestre closed this Dec 25, 2025
@ChrisDryden

Copy link
Copy Markdown
Collaborator

I was checking this out and the benchmarks are not accurate because of the way that OnceCell is set up, its doing the locale sorting instead of default for all of them

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.

2 participants