RFR: 8266431: Dual-Pivot Quicksort improvements (Radix sort) [v2]

Vladimir Yaroslavskiy duke at openjdk.org
Fri Sep 26 22:50:15 UTC 2025


On Wed, 24 Sep 2025 08:48:44 GMT, Vladimir Sitnikov <vsitnikov at openjdk.org> wrote:

>> boolean isLargeRandom =
>> //              size > MIN_RADIX_SORT_SIZE && (sorter == null || bits > 0) &&
>>                 size > MIN_RADIX_SORT_SIZE && (sorter != null && bits > 0) &&
>>                 (a[e1] > a[e2] || a[e2] > a[e3] || a[e3] > a[e4] || a[e4] > a[e5]);
>> 
>> 
>> This code runs Radix sort during parallel sort only.
>> If you want to use Radix sort during sequential or parallel sort also,
>> you need to switch to the first line.
>> 
>> Agree, both lines should contain explanations.
>> 
>> If we agree to move Radix sort out from this PR, these lines go away from here.
>
> Have you considered a `private static final boolean USE_RADIX_SORT_WITH_PARALLEL = false;`? Then we don't need to comment the code, and one could flip the behavior by altering the flag

Nice suggestions, will try to apply

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/27411#discussion_r2383621939


More information about the core-libs-dev mailing list