RFR: 8322179: RISC-V: Implement SHA-1 intrinsic [v14]

Hamlin Li mli at openjdk.org
Tue Feb 27 08:21:48 UTC 2024


On Tue, 27 Feb 2024 03:36:50 GMT, Fei Yang <fyang at openjdk.org> wrote:

> Looks good. Are there any changes on the performance numbers for the latest version? Thanks.

I did not compare between all versions, but yes, there is further improvement especially when data size grow, e.g. comparing with `abbf7c2`, final version as below

# final
Benchmark                                           (algorithm)  (dataSize)  (digesterName)  (length)  (provider)  Mode  Cnt         Score        Error  Units
o.o.b.java.security.MessageDigests.digest                   N/A         N/A           SHA-1        64     DEFAULT  avgt   10      1845.049 ?     46.909  ns/op
o.o.b.java.security.MessageDigests.digest                   N/A         N/A           SHA-1     16384     DEFAULT  avgt   10    174383.296 ?    605.029  ns/op
o.o.b.java.security.MessageDigests.getAndDigest             N/A         N/A           SHA-1        64     DEFAULT  avgt   10      2478.380 ?     19.147  ns/op
o.o.b.java.security.MessageDigests.getAndDigest             N/A         N/A           SHA-1     16384     DEFAULT  avgt   10    176391.224 ?    489.730  ns/op
o.o.b.javax.crypto.small.MessageDigestBench.digest         SHA1     1048576             N/A       N/A              avgt   10  11591613.058 ? 310656.422  ns/op

# abbf7c2
Benchmark                                           (algorithm)  (dataSize)  (digesterName)  (length)  (provider)  Mode  Cnt         Score        Error  Units
o.o.b.java.security.MessageDigests.digest                   N/A         N/A           SHA-1        64     DEFAULT  avgt   10      1856.090 ?     34.903  ns/op
o.o.b.java.security.MessageDigests.digest                   N/A         N/A           SHA-1     16384     DEFAULT  avgt   10    181397.109 ?    446.396  ns/op
o.o.b.java.security.MessageDigests.getAndDigest             N/A         N/A           SHA-1        64     DEFAULT  avgt   10      2469.551 ?     23.858  ns/op
o.o.b.java.security.MessageDigests.getAndDigest             N/A         N/A           SHA-1     16384     DEFAULT  avgt   10    183116.724 ?    343.619  ns/op
o.o.b.javax.crypto.small.MessageDigestBench.digest         SHA1     1048576             N/A       N/A              avgt   10  12059508.183 ? 285536.713  ns/op



   benchmark                                        algorithm  dataSize  digesterName  length  provider        base                  comp                        diff
1  o.o.b.java.security.MessageDigests.digest              N/A       N/A         SHA-1      64   DEFAULT    1856.090   ±34.903    1845.049   ±46.909  ns/op    -11.041  -0.59%
2  o.o.b.java.security.MessageDigests.digest              N/A       N/A         SHA-1   16384   DEFAULT  181397.109  ±446.396  174383.296  ±605.029  ns/op  -7013.813  -3.87%  ✓
3  o.o.b.java.security.MessageDigests.getAndDigest        N/A       N/A         SHA-1      64   DEFAULT    2469.551   ±23.858    2478.380   ±19.147  ns/op     +8.829  +0.36%
4  o.o.b.java.security.MessageDigests.getAndDigest        N/A       N/A         SHA-1   16384   DEFAULT  183116.724  ±343.619  176391.224  ±489.730  ns/op  -6725.500  -3.67%  ✓

-------------

PR Comment: https://git.openjdk.org/jdk/pull/17130#issuecomment-1966004339


More information about the hotspot-dev mailing list