RFR: AARCH64: optimize string compare intrinsic
dmitrij.pochepko at bell-sw.com
Sat Apr 28 18:29:09 UTC 2018
please review patch for 8202326: AARCH64: optimize string compare intrinsic
This patch introduces string compareTo stub, which uses large loops with
prefetch instructions. Stub is called for long strings and improves
String::compareTo up to 4 times on systems without hardware prefetching
(ThunderX) and up to 2 times on systems with hardware prefetching
(ThunderX2). Also inlined code is re-arranged with more optimal
pipelining, which helps in-order systems, so small strings are also
There are no noticeable regressions according to benchmark results.
I created benchmark to measure improvement:
Execution matrix is large and can be seen here:
Raw results are *.txt files here:
testing: I run jtreg hotspot tests: compiler/* gc/* runtime/* using
fastdebug build and found no new failures. I also run long "bruteforce"
test which checks all combinations of different character index for all
strings up to size 512:
Additional note: this patch depends on zip2 instruction encoding fix:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-compiler-dev