[aarch64-port-dev ] RFR(S): 8216259: AArch64: Vectorize Adler32 intrinsics
Pengfei Li (Arm Technology China)
Pengfei.Li at arm.com
Tue Jan 22 11:03:20 UTC 2019
Hi Andrew Haley,
> Fair enough; it does look like an improvement. However, please show us the
> actual numbers, especially at small sizes. Also, how much is the
> Adler32 checksum actually used? Is it something we care about?
I updated my JMH case (http://cr.openjdk.java.net/~pli/rfr/8216259/TestAdler32.java) with some small sizes added. Please see the results below.
Before patch:
Benchmark (count) Mode Cnt Score Error Units
TestAdler32.testAdler32Update 64 avgt 15 0.047 ? 0.001 us/op
TestAdler32.testAdler32Update 128 avgt 15 0.084 ? 0.001 us/op
TestAdler32.testAdler32Update 256 avgt 15 0.157 ? 0.001 us/op
TestAdler32.testAdler32Update 512 avgt 15 0.313 ? 0.001 us/op
TestAdler32.testAdler32Update 1024 avgt 15 0.607 ? 0.002 us/op
TestAdler32.testAdler32Update 2048 avgt 15 1.195 ? 0.003 us/op
TestAdler32.testAdler32Update 4096 avgt 15 2.371 ? 0.005 us/op
TestAdler32.testAdler32Update 8192 avgt 15 4.936 ? 0.018 us/op
TestAdler32.testAdler32Update 16384 avgt 15 9.729 ? 0.116 us/op
TestAdler32.testAdler32Update 32768 avgt 15 19.332 ? 0.081 us/op
TestAdler32.testAdler32Update 65536 avgt 15 38.180 ? 0.098 us/op
After patch:
Benchmark (count) Mode Cnt Score Error Units
TestAdler32.testAdler32Update 64 avgt 15 0.026 ? 0.001 us/op
TestAdler32.testAdler32Update 128 avgt 15 0.039 ? 0.001 us/op
TestAdler32.testAdler32Update 256 avgt 15 0.067 ? 0.001 us/op
TestAdler32.testAdler32Update 512 avgt 15 0.124 ? 0.001 us/op
TestAdler32.testAdler32Update 1024 avgt 15 0.232 ? 0.001 us/op
TestAdler32.testAdler32Update 2048 avgt 15 0.445 ? 0.001 us/op
TestAdler32.testAdler32Update 4096 avgt 15 0.873 ? 0.002 us/op
TestAdler32.testAdler32Update 8192 avgt 15 1.770 ? 0.010 us/op
TestAdler32.testAdler32Update 16384 avgt 15 3.658 ? 0.101 us/op
TestAdler32.testAdler32Update 32768 avgt 15 7.221 ? 0.043 us/op
TestAdler32.testAdler32Update 65536 avgt 15 14.353 ? 0.035 us/op
Dmitry Chuyko has just said it's used in Hadoop HDFS. I either don't know if any other applications, besides zlib, are using Adler-32.
--
Thanks,
Pengfei
More information about the hotspot-compiler-dev
mailing list