RFR: JDK-8266431: Dual-Pivot Quicksort improvements (Radix sort) [v9]
iaroslavski
duke at openjdk.org
Sat Sep 23 21:54:16 UTC 2023
On Thu, 21 Sep 2023 23:40:25 GMT, Srinivas Vamsi Parasa <duke at openjdk.org> wrote:
>>> Hi Vladimir,
>>>
>>> Just trying to understand: is there a reason to use `DualPivotQuicksort_RadixForParallel.java` and `DualPivotQuicksort_RadixForAll.java`?
>>>
>>> Would it not be sufficient to do the following two runs:
>>>
>>> 1. Baseline (Stock JDK) vs. AVX512 sort for`sort()`and `parallelSort()` ?
>>> 2. AVX512 sort vs. Radix sort for `sort()` and `parallelSort()` ?
>>>
>>> Thanks, Vamsi
>>
>> Hi Vamsi (@vamsi-parasa)!
>>
>> I appreciate if you kindly agree to help with perf runs on your environment.
>> Results from your runs will help us to detect the impact of Radix sort in *vectorized* sorting, this is very important topic.
>>
>> Interesting comparisons are:
>>
>> 1. AVX512 sort (your implementation) vs. DualPivotQuicksort_RadixForParallel (contains AVX512 + radix for parallel sort)
>> https://github.com/iaroslavski/sorting/blob/master/radixsort/DualPivotQuicksort_RadixForParallel.java
>>
>> 2. AVX512 sort (your implementation) vs. DualPivotQuicksort_RadixForAll (contains AVX512 + radix for all)
>> https://github.com/iaroslavski/sorting/blob/master/radixsort/DualPivotQuicksort_RadixForAll.java
>>
>> If you add the 3-rd comparison
>> baseline (stock JDK) vs. AVX512 sort - it would be great also!
>>
>> Please use this JMH test to run on:
>> https://github.com/iaroslavski/sorting/blob/master/radixsort/ArraysSort.java
>>
>> * all sizes
>> * all inputs
>> * int type only
>> * sort() and parallelSort()
>>
>> Looking forward the results,
>> Vladimir
>
> Hi Vladimir (@iaroslavski),
>
> Kindly give me some time to do the JMH performance runs as I am currently occupied with various tasks related to the closing of the AVX512 sort PR.
>
> Thanks,
> Vamsi
Sure, Vamsi @vamsi-parasa
Please find all my sorting classes
https://github.com/iaroslavski/sorting/blob/master/radixsort/DualPivotQuicksort_RadixForParallel.java
https://github.com/iaroslavski/sorting/blob/master/radixsort/DualPivotQuicksort_RadixForAll.java
and benchmarking test
https://github.com/iaroslavski/sorting/blob/master/radixsort/ArraysSort.java
It is already prepared and contains all sizes, all inputs, sort() and parallelSort(), but int type only.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/13568#issuecomment-1732416840
More information about the core-libs-dev
mailing list