[aarch64-port-dev ] [10] RFR: 8186915 - AARCH64: Intrinsify squareToLen and mulAdd
Vladimir Kozlov
vladimir.kozlov at oracle.com
Wed Sep 20 15:34:10 UTC 2017
Dmitrij,
You need Oracle's sponsor for push since you touched shared code
register.hpp
Thanks,
Vladimir
On 9/20/17 7:13 AM, Dmitrij Pochepko wrote:
> Hi,
>
> Andrew, do you believe this is ok to push?
>
> Thanks,
>
> Dmitrij
>
>
> ....
>
> On 06.09.2017 20:39, Dmitrij wrote:
>>
>> I've compared it by calling square and multiply methods and got
>> following results(ThunderX):
>>
>>
>> Benchmark (size, ints) Mode
>> Cnt Score Error Units
>> BigIntegerBench.implMutliplyToLenReflect 1 avgt 5 186.930 ?
>> 14.933 ns/op (26% slower)
>> BigIntegerBench.implMutliplyToLenReflect 2 avgt 5 194.095 ?
>> 11.857 ns/op (12% slower)
>> BigIntegerBench.implMutliplyToLenReflect 3 avgt 5 233.912
>> ? 4.229 ns/op (24% slower)
>> BigIntegerBench.implMutliplyToLenReflect 5 avgt 5 308.349 ?
>> 20.383 ns/op (22% slower)
>> BigIntegerBench.implMutliplyToLenReflect 10 avgt 5 475.839
>> ? 6.232 ns/op (same)
>> BigIntegerBench.implMutliplyToLenReflect 50 avgt 5 6514.691
>> ? 76.934 ns/op (same)
>> BigIntegerBench.implMutliplyToLenReflect 90 avgt 5 20347.040
>> ? 224.290 ns/op (3% slower)
>> BigIntegerBench.implMutliplyToLenReflect 127 avgt 5 41929.302
>> ? 181.053 ns/op (9% slower)
>>
>> BigIntegerBench.implSquareToLenReflect 1 avgt 5 147.751 ?
>> 12.760 ns/op
>> BigIntegerBench.implSquareToLenReflect 2 avgt 5 173.804
>> ? 4.850 ns/op
>> BigIntegerBench.implSquareToLenReflect 3 avgt 5 187.822 ?
>> 34.027 ns/op
>> BigIntegerBench.implSquareToLenReflect 5 avgt 5 251.995 ?
>> 19.711 ns/op
>> BigIntegerBench.implSquareToLenReflect 10 avgt 5 474.489
>> ? 1.040 ns/op
>> BigIntegerBench.implSquareToLenReflect 50 avgt 5 6493.768
>> ? 33.809 ns/op
>> BigIntegerBench.implSquareToLenReflect 90 avgt 5 19766.524
>> ? 88.398 ns/op
>> BigIntegerBench.implSquareToLenReflect 127 avgt 5 38448.202
>> ? 180.095 ns/op
>>
>>
>> As we can see, squareToLen is faster than multiplyToLen.
>>
>> (I've updated benchmark code at
>> http://cr.openjdk.java.net/~dpochepk/8186915/BigIntegerBench.java)
>>
>> Thanks,
>> Dmitrij
>
More information about the aarch64-port-dev
mailing list