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

iaroslavski github.com+43264149+iaroslavski at openjdk.java.net
Thu Sep 16 20:38:48 UTC 2021


> Sorting:
> 
> - adopt radix sort for sequential and parallel sorts on int/long/float/double arrays (almost random and length > 6K)
> - fix tryMergeRuns() to better handle case when the last run is a single element
> - minor javadoc and comment changes
> 
> Testing:
> - add new data inputs in tests for sorting
> - add min/max/infinity values to float/double testing
> - add tests for radix sort

iaroslavski 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 five additional commits since the last revision:

 - Merge remote-tracking branch 'upstream/master' into JDK-8266431-Dual-Pivot-Quicksort-improvements-Radix-sort
 - JDK-8266431: Dual-Pivot Quicksort improvements (Radix sort)
   
   Update target version
 - JDK-8266431: Dual-Pivot Quicksort improvements (Radix sort)
   
   Testing:
   - remove @since and @date, otherwise jtreg tag parser fails
 - JDK-8266431: Dual-Pivot Quicksort improvements (Radix sort)
   
   Sorting:
   
   - move radix sort out from quicksort partitioning
   - rename radixSort to tryRadixSort
   - minor javadoc and comment changes
   
   Testing:
   - rename radixSort to tryRadixSort in helper
 - JDK-8266431: Dual-Pivot Quicksort improvements (Radix sort)
   
   Sorting:
   
   - adopt radix sort for sequential and parallel sorts on int/long/float/double arrays (almost random and length > 6K)
   - fix tryMergeRuns() to better handle case when the last run is a single element
   - minor javadoc and comment changes
   
   Testing:
   - add new data inputs in tests for sorting
   - add min/max/infinity values to float/double testing
   - add tests for radix sort

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3938/files
  - new: https://git.openjdk.java.net/jdk/pull/3938/files/189f547a..6003fb69

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3938&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3938&range=01-02

  Stats: 781419 lines in 7625 files changed: 627030 ins; 118369 del; 36020 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3938.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3938/head:pull/3938

PR: https://git.openjdk.java.net/jdk/pull/3938


More information about the core-libs-dev mailing list