RFR: 8338023: Support two vector selectFrom API [v3]
Sandhya Viswanathan
sviswanathan at openjdk.org
Wed Aug 21 17:51:06 UTC 2024
On Wed, 21 Aug 2024 16:49:40 GMT, Jatin Bhateja <jbhateja at 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
More information about the hotspot-compiler-dev
mailing list