Speeding up copy_memory stub
Vladimir Kempik
vladimir.kempik at gmail.com
Sun Nov 13 21:14:18 UTC 2022
Hello
Thank you for hint.
The test passes with the changes,
I have rerun whole bench.vm subset of micro benchmarks and also found improvements in o.o.b.v.compiler.ArrayClear.testArrayClear , which uses System.arraycopy as well.
I was also comparing risc-v versus aarch64, (on rbpi4, which has no sve, and neon was disabled), thead c910 seems to be somewhat comparable( overall, not on jdk-only) to cortex-a72, after normalizing per mhz.
And here are results:
1.0 - relative result of A72, first column - before the patch, second - after the patch, the last one - the increment in percents
o.o.b.v.compiler.ArrayCopyObject.conjoint_micro.31 0,720 0,855 18,7
o.o.b.v.compiler.ArrayCopyObject.conjoint_micro.63 0,660 0,889 34,8
o.o.b.v.compiler.ArrayCopyObject.conjoint_micro.127 0,675 0,993 47,3
o.o.b.v.compiler.ArrayCopyObject.conjoint_micro.2047 0,545 1,021 87,3
o.o.b.v.compiler.ArrayCopyObject.conjoint_micro.4095 0,541 1,030 90,2
o.o.b.v.compiler.ArrayCopyObject.conjoint_micro.8191 0,580 0,904 55,9
o.o.b.v.compiler.ArrayCopyObject.disjoint_micro.31 0,731 0,860 17,7
o.o.b.v.compiler.ArrayCopyObject.disjoint_micro.63 0,734 0,958 30,5
o.o.b.v.compiler.ArrayCopyObject.disjoint_micro.127 0,663 0,962 45,1
o.o.b.v.compiler.ArrayCopyObject.disjoint_micro.2047 0,520 1,023 96,6
o.o.b.v.compiler.ArrayCopyObject.disjoint_micro.4095 0,525 1,052 100,5
o.o.b.v.compiler.ArrayCopyObject.disjoint_micro.8191 0,621 1,200 93,4
o.o.b.v.compiler.ArrayClear.testArrayClear 0,819 1,409 71,9
I have published the PR: https://github.com/openjdk/jdk/pull/11058
Regards, Vladimir.
> 8 нояб. 2022 г., в 19:27, Aleksey Shipilev <shade at redhat.com> написал(а):
>
> On 11/8/22 17:10, Vladimir Kempik wrote:
>>> Any help on catching these bugs is highly appreciated.
>
> Try to pass this:
>
> $ make test TEST=hotspot_compiler_arraycopy
>
> I added those to extensively cover the arraycopy improvements work for x86_64.
>
> If RISC-V arraycopy code has any option flags, feel free to add them to test matrix here:
> https://github.com/openjdk/jdk/blob/dd5d4df5b68a40923987841a206fac5032d72f71/test/hotspot/jtreg/compiler/arraycopy/stress/TestStressArrayCopy.java#L152
>
> --
> Thanks,
> -Aleksey
>
More information about the riscv-port-dev
mailing list