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

Vladimir Yaroslavskiy duke at openjdk.org
Wed Oct 22 20:48:51 UTC 2025


On Sat, 11 Oct 2025 09:14:53 GMT, Tagir F. Valeev <tvaleev at openjdk.org> wrote:

>> Vladimir Yaroslavskiy has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   JDK-8266431: Dual-Pivot Quicksort improvements
>>   
>>   * Moved Radix sort out from sorting
>
> src/java.base/share/classes/java/util/DualPivotQuicksort.java line 4472:
> 
>> 4470:     private static final class Sorter<T> extends CountedCompleter<Void> {
>> 4471: 
>> 4472:         private static final long serialVersionUID = 123456789L;
> 
> I wonder why it should be serializable? I mean, this is useful for fork-join tasks in general, but is serialization ever used for these Sorter and Merger tasks?
> 
> Also, if `serialVersionUID` is really necessary, probably it makes sense to annotate it as `@Serial`. See
> https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/Serial.html

`serialVersionUID`was added in version 14 amd I see that many classes from `java.util` have `serialVersionUID`. I will add annotation `@Serial`, thank you for this catch.

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

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


More information about the core-libs-dev mailing list