RFR: 8293484: AArch64: Enable SHA512 intrinsic by default on supported hardware
Hao Sun
haosun at openjdk.org
Tue Nov 1 06:16:21 UTC 2022
SHA512 intrinsic for AArch64 was implemented in JDK-8165404. But it was not auto-enabled due to the lack of full test on real hardware. In this patch, we set this intrinsic enabled by default on hardware with sha512 feature support, after we did the following evaluation.
1) tier1~3 passed without new failures.
2) we ran the JMH test case MessageDigests.java on all available sha512 feature supported CPUs on our hands including Neoverse V1, Neoverse N2 and Apple silicon(M1). We witnessed about 1.3x ~ 3x performance uplifts. Here shows the data on V1.
Benchmark (digesterName) (length) (provider) Mode Cnt Before After Units
MessageDigests.digest SHA-384 64 DEFAULT thrpt 5 2381.028 6161.576 ops/ms
MessageDigests.digest SHA-384 16384 DEFAULT thrpt 5 20.641 60.493 ops/ms
MessageDigests.digest SHA-512 64 DEFAULT thrpt 5 2407.225 6140.680 ops/ms
MessageDigests.digest SHA-512 16384 DEFAULT thrpt 5 20.633 60.942 ops/ms
MessageDigests.getAndDigest SHA-384 64 DEFAULT thrpt 5 1962.740 4714.510 ops/ms
MessageDigests.getAndDigest SHA-384 16384 DEFAULT thrpt 5 20.474 61.360 ops/ms
MessageDigests.getAndDigest SHA-512 64 DEFAULT thrpt 5 1949.511 4552.723 ops/ms
MessageDigests.getAndDigest SHA-512 16384 DEFAULT thrpt 5 20.477 59.693 ops/ms
-------------
Commit messages:
- 8293484: AArch64: Enable SHA512 intrinsic by default on supported hardware
Changes: https://git.openjdk.org/jdk/pull/10925/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10925&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8293484
Stats: 4 lines in 1 file changed: 0 ins; 1 del; 3 mod
Patch: https://git.openjdk.org/jdk/pull/10925.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/10925/head:pull/10925
PR: https://git.openjdk.org/jdk/pull/10925
More information about the hotspot-dev
mailing list