RFR: JDK-8266431: Dual-Pivot Quicksort improvements (Radix sort) [v6]
Laurent Bourgès
lbourges at openjdk.org
Thu May 25 16:39:00 UTC 2023
On Sun, 23 Apr 2023 17:33:38 GMT, Laurent Bourgès <lbourges at openjdk.org> wrote:
>> * improved mixed insertion sort (makes whole sorting faster)
>> * introduced Radix which sort shows several times boost of performance and has linear complexity instead of n*ln(n)
>> * improved merging sort for almost sorted data
>> * optimized parallel sorting
>> * improved step for pivot candidates and pivot partitioning
>> * extended existing tests
>> * added benchmarking JMH tests
>> * suggested better buffer allocation: if no memory, it is switched to in-place sorting with no OutOfMemoryError, threshold is 1/16th heap
>>
>> I am going on previous PR by Vladimir Yaroslavskyi: https://github.com/openjdk/jdk/pull/3938
>
> Laurent Bourgès has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:
>
> - Merge branch 'openjdk:master' into dpqs23
> - fixed javadoc and size renamed to length for clarity
> - improved and more obvious max length test to always respect max heap memory footprint
> - Merge branch 'openjdk:master' into dpqs23
> - rewritten radix sort condition + fixed max buffer size
> - optimized radix sort heuristic
> - JDK-8266431: Dual-Pivot Quicksort improvements (Radix sort)
> * Optimized mixed insertion sort
> * Optimized insertion sort
> * Optimized Radix sort
> * Updated microbenchmark
@AlanBateman @rose00 @mbreinhold Could any core-libs reviewer have a look ?
No hurry as jdk21 rdp0 is coming but later in june ?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/13568#issuecomment-1563199749
More information about the core-libs-dev
mailing list