[intrinsics]: performance before after (String::format)
Vicente Romero
vicente.romero at oracle.com
Sat Feb 23 00:36:48 UTC 2019
On 2/22/19 4:59 PM, Alex Buckley wrote:
> On 2/22/2019 1:46 PM, Vicente Romero wrote:
>> To complete the picture please find attached the performance results for
>> Objects.hash for a number of experiments. In general they don't look as
>> good as the ones for String::format. In general it seems like there is
>> no much gain unless the number of parameters is large and all the
>> parameters are constants. This is understandable because the compiler
>> generates an LDC of the result. In all other cases the performance is
>> just a bit better or a lot worst.
>
> Intrinsified Vanilla Speedup
> testHash1IntVariable 42564 42799 1x
> testHash2IntVariables 41573 9019 5x
> testHash100IntVariables 4 27 0.15x
>
> With a large number of parameters, you might hope that avoiding double
> boxing (int -> Integer -> array store) gives us some win, even for
> non-constant arguments. But something is happening that kills the
> speedup, do you know what it is?
I'm doing some research on this, my assumption is that HS was able to
recognize the old pattern but it has issues with the MH graph being
generated now. It could be that some nodes in the graph are more opaque.
But this is just my opinion
>
> Alex
Vicente
More information about the amber-dev
mailing list