On Thu, 13 Jul 2023 08:44:02 GMT, Pavel Rappo <pra...@openjdk.org> wrote:
>>> For an arbitrary int[], unconditional vectorization might be unwarranted or >>> puzzling. >> >> Could you clarify this statement? Thanks a lot. > >> > For an arbitrary int[], unconditional vectorization might be unwarranted >> > or puzzling. >> >> Could you clarify this statement? Thanks a lot. > > My mental model is that Arrays.hashCode is to > ArraysSupport.vectorizedHashCode as Arrays.mismatch to > ArraysSupport.vectorizedMismatch. In either pair, the first method is > applicable to some generic array, whereas the second method is applicable to > an array that would definitely benefit from vectorized processing. > > When I see a call to ArraysSupport.vectorizedHashCode, it reads like a > statement: this particular computation must be vectorized. Now, was it > author's intention, or there simply were no alternatives to compute hash code > of an array subrange or with a different initial value? @pavelrappo Actually I look at the implementation of `ArraySupport.vectorizedHashCode` and it does branching and only uses vector instructions if the length is sufficiently large. Please do benchmarking if you are uncertain with performance characteristics of functions. Thanks. ------------- PR Comment: https://git.openjdk.org/jdk/pull/14831#issuecomment-1633867335