[aarch64-port-dev ] [10] RFR: 8187472 - AARCH64: array_equals intrinsic doesn't use prefetch for large arrays
Andrew Haley
aph at redhat.com
Wed Nov 15 10:34:21 UTC 2017
On 15/11/17 08:34, Ningsheng Jian wrote:
> Hi Dmitrij,
>
> I can see regressions on some hardware with your patch.
>
> Could you please try the micro-benchmark below on your systems?
>
> http://people.linaro.org/~ningsheng.jian/test/StringOps.java
>
> $ java -jar ./target/benchmarks.jar "StringEqualsLarge" -wi 10 -f 3 -i 10
>
> Seems that your patch affects the inlining.
Before the patch:
StringOps.jmhTimeStringEqualsIgnoreCaseLarge avgt 10 2984.638 ? 12.899 ns/op
StringOps.jmhTimeStringEqualsIgnoreCaseSmall avgt 10 319.434 ? 0.434 ns/op
StringOps.jmhTimeStringEqualsLarge avgt 10 146.122 ? 0.638 ns/op
StringOps.jmhTimeStringEqualsSmall avgt 10 45.998 ? 0.444 ns/op
After:
Mode Cnt Score Error Units
StringOps.jmhTimeStringEqualsIgnoreCaseLarge avgt 10 2982.222 ? 3.683 ns/op
StringOps.jmhTimeStringEqualsIgnoreCaseSmall avgt 10 319.671 ? 0.902 ns/op
StringOps.jmhTimeStringEqualsLarge avgt 10 1137.348 ? 1.088 ns/op
StringOps.jmhTimeStringEqualsSmall avgt 10 194.698 ? 0.857 ns/op
Gosh. I think that's a very bad patch.
--
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
More information about the aarch64-port-dev
mailing list