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

2024-11-28 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: 8343704: Bad GC parallelism with processing Cleaner queues [v14]

2024-11-25 Thread Laurent Bourgès
On Mon, 25 Nov 2024 08:32:31 GMT, Aleksey Shipilev wrote: >> How about this: >> >>> ...the problem is in GC time hiccups to walk the large linked lists. >> >> Though, for this test, `CleanableList` itself is not being walked. >> >> Rather, `CleanableList` itself is a factor in as much as it ex

Re: RFR: 8344525: Fix leftover ExceptionOccurred in java.base

2024-11-19 Thread Laurent Bourgès
On Wed, 20 Nov 2024 03:02:39 GMT, Justin Lu wrote: > Please review this PR which removes the leftover ocurrences of incorrect JNI > `ExceptionOccurred(env)` usage within _java.base_. > > This PR also includes 9 cases of `if (ExceptionOccurred(env) == NULL)`. While > these occurrences are fine

Re: RFR: 8344525: Fix leftover ExceptionOccurred in java.base

2024-11-19 Thread Laurent Bourgès
On Wed, 20 Nov 2024 03:02:39 GMT, Justin Lu wrote: > Please review this PR which removes the leftover ocurrences of incorrect JNI > `ExceptionOccurred(env)` usage within _java.base_. > > This PR also includes 9 cases of `if (ExceptionOccurred(env) == NULL)`. While > these occurrences are fine

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

2024-10-31 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: 8316662: Remove one allocation per conversion in Double.toString(double) and Float.toString(float) [v4]

2024-10-17 Thread Laurent Bourgès
On Tue, 30 Apr 2024 08:44:32 GMT, Raffaello Giulietti wrote: >> By correctly sizing an intermediate `byte[]` and making use of the internal >> `newStringNoRepl()` method, one allocation per conversion can be avoided >> when the runtime uses compact strings. > > Raffaello Giulietti has updated

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

2024-09-12 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: 8266431: Dual-Pivot Quicksort improvements (Radix sort) [v11]

2024-08-15 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]

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 2

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 that

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

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) [v4]

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 w

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/openjdk/jd

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 a

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 javado

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: https://git.openjdk.or

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

2022-11-20 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 javado

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

2022-09-25 Thread Laurent Bourgès
will take 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 javado

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 javado

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 results

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 javado

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 javado