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

Laurent Bourgès lbourges at openjdk.org
Thu Jun 15 09:21:13 UTC 2023


> * 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 incrementally with two additional commits since the last revision:

 - Merge branch 'dpqs23' of github.com:bourgesl/jdk-official into dpqs23
 - simplified test to enable radix sort (improved sorting on period and shuffle data) + updated version to 22

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/13568/files
  - new: https://git.openjdk.org/jdk/pull/13568/files/391bb3bd..f7f7e11a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=13568&range=06
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13568&range=05-06

  Stats: 19 lines in 2 files changed: 0 ins; 0 del; 19 mod
  Patch: https://git.openjdk.org/jdk/pull/13568.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13568/head:pull/13568

PR: https://git.openjdk.org/jdk/pull/13568


More information about the core-libs-dev mailing list