> * 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 10 additional commits since the last revision: - Merge branch 'openjdk:master' into dpqs23 - Merge branch 'dpqs23' of github.com:bourgesl/jdk-official into dpqs23 - Merge branch 'openjdk:master' into dpqs23 - simplified test to enable radix sort (improved sorting on period and shuffle data) + updated version to 22 - 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 ------------- Changes: - all: https://git.openjdk.org/jdk/pull/13568/files - new: https://git.openjdk.org/jdk/pull/13568/files/f7f7e11a..1d6d69d7 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=13568&range=07 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=13568&range=06-07 Stats: 491505 lines in 7445 files changed: 306730 ins; 129358 del; 55417 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