On Wed, 21 Aug 2024 16:49:40 GMT, Jatin Bhateja <jbhat...@openjdk.org> wrote:

>> Jatin Bhateja has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Pass explicit wrap argument to selectFrom API with default value set to 
>> true.
>
> Hi @rose00 , @sviswa7 , @PaulSandoz , 
> As suggested, now passing explicit 'wrap' argument to new selectFrom API.
> 
> Following are the performance number of modified JMH micro included with the 
> patch.
> 
> 
> 
> Baseline:-
> Benchmark                                      (size)   Mode  Cnt     Score   
> Error   Units
> SelectFromBenchmark.rearrangeFromByteVector     4096  thrpt    2  5849.771    
>       ops/ms
> SelectFromBenchmark.rearrangeFromDoubleVector   4096  thrpt    2   430.712    
>       ops/ms
> SelectFromBenchmark.rearrangeFromFloatVector    4096  thrpt    2   942.737    
>       ops/ms
> SelectFromBenchmark.rearrangeFromIntVector      4096  thrpt    2  1057.695    
>       ops/ms
> SelectFromBenchmark.rearrangeFromLongVector     4096  thrpt    2   616.360    
>       ops/ms
> SelectFromBenchmark.rearrangeFromShortVector    4096  thrpt    2  2146.465    
>       ops/ms
> 
> With Patch:-
> Benchmark                                   (size)   Mode  Cnt     Score   
> Error   Units
> SelectFromBenchmark.selectFromByteVector        4096  thrpt    2  9543.775    
>       ops/ms
> SelectFromBenchmark.selectFromDoubleVector      4096  thrpt    2   558.195    
>       ops/ms
> SelectFromBenchmark.selectFromFloatVector       4096  thrpt    2  1325.059    
>       ops/ms
> SelectFromBenchmark.selectFromIntVector         4096  thrpt    2  1418.748    
>       ops/ms
> SelectFromBenchmark.selectFromLongVector        4096  thrpt    2   687.231    
>       ops/ms
> SelectFromBenchmark.selectFromShortVector       4096  thrpt    2  4782.395    
>       ops/ms
> 
> 
> With WIP wrap index acceleration PR#20634:
> Benchmark                                      (size)   Mode  Cnt     Score   
> Error   Units
> SelectFromBenchmark.rearrangeFromByteVector     4096  thrpt    2  7602.645    
>       ops/ms
> SelectFromBenchmark.rearrangeFromDoubleVector   4096  thrpt    2   441.684    
>       ops/ms
> SelectFromBenchmark.rearrangeFromFloatVector    4096  thrpt    2   926.112    
>       ops/ms
> SelectFromBenchmark.rearrangeFromIntVector      4096  thrpt    2  1061.695    
>       ops/ms
> SelectFromBenchmark.rearrangeFromLongVector     4096  thrpt    2   644.058    
>       ops/ms
> SelectFromBenchmark.rearrangeFromShortVector    4096  thrpt    2  2777.735    
>       ops/ms

@jatin-bhateja Thanks, the PR ((https://github.com/openjdk/jdk/pull/20634) is 
still work in progress and can be simplified much further. The changes I am 
currently working on are do wrap by default for rearrange and selectFrom as 
suggested by John and Paul, no additional api with boolean wrap as parameter, 
and no changes to shuffle constructors.

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

PR Comment: https://git.openjdk.org/jdk/pull/20508#issuecomment-2302641840

Reply via email to