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

2024-02-10 Thread Laurent Bourgès
On Thu, 8 Feb 2024 01:54:45 GMT, Srinivas Vamsi Parasa wrote: >> Hello Vamsi (@vamsi-parasa), >> >> Many thanks for the results! Now we can see that intrinsics are applied in >> all cases, >> but there are big differences between the same code. >> >> For example, >> parallelSort REPEATED

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

2024-01-08 Thread Laurent Bourgès
On Sun, 22 Oct 2023 17:26:52 GMT, Laurent Bourgès 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 sor

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

2023-10-22 Thread Laurent Bourgès
R by Vladimir Yaroslavskyi: > https://github.com/openjdk/jdk/pull/3938 Laurent Bourgès has updated the pull request incrementally with one additional commit since the last revision: add @SuppressWarnings (serial) - Changes: - all: https://git.openjdk.org/jdk/pull/13568/fil

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

2023-10-22 Thread Laurent Bourgès
R 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 pull request now contains one commit: JDK-8266431: Dual-Pivot Quicksort improvements (Radix sort) * Optimized mixed inse

Re: RFR: 8309130: x86_64 AVX512 intrinsics for Arrays.sort methods (int, long, float and double arrays) [v34]

2023-09-11 Thread Laurent Bourgès
On Fri, 8 Sep 2023 18:10:33 GMT, Srinivas Vamsi Parasa wrote: >> The goal is to develop faster sort routines for x86_64 CPUs by taking >> advantage of AVX512 instructions. This enhancement provides an order of >> magnitude speedup for Arrays.sort() using int, long, float and double arrays. >>

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

2023-08-30 Thread Laurent Bourgès
R by Vladimir Yaroslavskyi: > https://github.com/openjdk/jdk/pull/3938 Laurent Bourgès has updated the pull request incrementally with one additional commit since the last revision: updated comments (v23.08) - Changes: - all: https://git.openjdk.org/jdk/pull/13568/files

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

2023-08-30 Thread Laurent Bourgès
R 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 addi

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

2023-08-16 Thread Laurent Bourgès
On Thu, 15 Jun 2023 09:21:13 GMT, Laurent Bourgès 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 sor

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

2023-08-16 Thread Laurent Bourgès
On Wed, 16 Aug 2023 10:09:26 GMT, Andrew Haley wrote: > These benchmarks are all small arrays. We need to check for possible > regressions here. The JMH ArraysSort tests arrays of length 800 to 2 million elements. Is it not enough for smaller or larger arrays ? > Also, I'm rather concerned

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

2023-07-27 Thread Laurent Bourgès
On Thu, 15 Jun 2023 09:21:13 GMT, Laurent Bourgès 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 sor

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

2023-06-15 Thread Laurent Bourgès
R 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

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

2023-05-25 Thread Laurent Bourgès
On Sun, 23 Apr 2023 17:33:38 GMT, Laurent Bourgès 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 sor

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

2023-04-23 Thread Laurent Bourgès
> * Optimized mixed insertion sort > * Optimized insertion sort > * Optimized Radix sort > * Updated microbenchmark > > I am going on previous PR by Vladimir Yaroslavskyi: > https://github.com/openjdk/jdk/pull/3938 Laurent Bourgès has updated the pull request w

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

2023-04-23 Thread Laurent Bourgès
> * Optimized mixed insertion sort > * Optimized insertion sort > * Optimized Radix sort > * Updated microbenchmark > > I am going on previous PR by Vladimir Yaroslavskyi: > https://github.com/openjdk/jdk/pull/3938 Laurent Bourgès has updated the pull request i

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

2023-04-22 Thread Laurent Bourgès
On Sat, 22 Apr 2023 16:08:49 GMT, Laurent Bourgès wrote: >> * Optimized mixed insertion sort >> * Optimized insertion sort >> * Optimized Radix sort >> * Updated microbenchmark >> >> I am going on previous PR by Vladimir Yaroslavskyi: >>

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

2023-04-22 Thread Laurent Bourgès
> * Optimized mixed insertion sort > * Optimized insertion sort > * Optimized Radix sort > * Updated microbenchmark > > I am going on previous PR by Vladimir Yaroslavskyi: > https://github.com/openjdk/jdk/pull/3938 Laurent Bourgès has updated the pull request i

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

2023-04-21 Thread Laurent Bourgès
On Thu, 20 Apr 2023 22:04:42 GMT, Laurent Bourgès wrote: >> * Optimized mixed insertion sort >> * Optimized insertion sort >> * Optimized Radix sort >> * Updated microbenchmark >> >> I am going on previous PR by Vladimir Yaroslavskyi: >>

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

2023-04-20 Thread Laurent Bourgès
> * Optimized mixed insertion sort > * Optimized insertion sort > * Optimized Radix sort > * Updated microbenchmark > > I am going on previous PR by Vladimir Yaroslavskyi: > https://github.com/openjdk/jdk/pull/3938 Laurent Bourgès has updated the pull request i

Re: RFR: JDK-8266431: Dual-Pivot Quicksort improvements (Radix sort)

2023-04-20 Thread Laurent Bourgès
On Thu, 20 Apr 2023 21:05:55 GMT, Laurent Bourgès wrote: > * Optimized mixed insertion sort > * Optimized insertion sort > * Optimized Radix sort > * Updated microbenchmark > > I am going on previous PR by Vladimir Yaroslavskyi: > https://github.com/openjd

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

2023-04-20 Thread Laurent Bourgès
* Optimized mixed insertion sort * Optimized insertion sort * Optimized Radix sort * Updated microbenchmark I am going on previous PR by Vladimir Yaroslavskyi: https://github.com/openjdk/jdk/pull/3938 - Commit messages: - JDK-8266431: Dual-Pivot Quicksort improvements

Re: RFR: 8301226: Add clamp() methods to java.lang.Math and to StrictMath [v8]

2023-02-13 Thread Laurent Bourgès
On Tue, 7 Feb 2023 12:53:25 GMT, Tagir F. Valeev wrote: >> clamp() methods added to Math and StrictMath >> >> `int clamp(long, int, int)` is somewhat different, as it accepts a `long` >> value and safely clamps it to an `int` range. Other overloads work with a >> particular type (long, float

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

2023-02-13 Thread Laurent Bourgès
On Wed, 9 Nov 2022 21:06:50 GMT, iaroslavski wrote: >> 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

Re: RFR: 8302163: Speed up various String comparison methods with ArraysSupport.mismatch

2023-02-13 Thread Laurent Bourgès
On Mon, 13 Feb 2023 09:59:24 GMT, Claes Redestad wrote: > We can improve various String methods such as `startsWith`, `endsWith` and > `regionMatches` by leveraging the intrinsified mismatch methods in > `ArraysSupport`. Amazing gains! Congratulations - PR:

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

2022-09-25 Thread Laurent Bourgès
e care of his review for OpenJDK 21. Once new PR will be proposed, I will close this very-long one. Agreed? Laurent Bourgès, France - PR: https://git.openjdk.org/jdk/pull/3938

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

2022-08-28 Thread Laurent Bourgès
On Tue, 2 Aug 2022 13:57:03 GMT, iaroslavski wrote: >> 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

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

2022-08-21 Thread Laurent Bourgès
On Tue, 2 Aug 2022 13:57:03 GMT, iaroslavski wrote: >> 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

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

2022-08-10 Thread Laurent Bourgès
On Tue, 9 Aug 2022 06:49:53 GMT, Peter Levart wrote: >> Here are JMH test results on my stable perf laptop (cpu fixed: 4 real cpu >> cores at 2ghz, HT disabled, i7 6820k): >> https://github.com/bourgesl/bourgesl.github.io/blob/master/bench-220709-summary-2.log >> >> It confirms Vladimir

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

2022-07-10 Thread Laurent Bourgès
On Thu, 7 Jul 2022 15:58:33 GMT, iaroslavski wrote: >> 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

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

2022-07-08 Thread Laurent Bourgès
On Thu, 7 Jul 2022 15:58:33 GMT, iaroslavski wrote: >> 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