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

Hamlin Li mli at openjdk.org
Tue Jan 16 18:51:23 UTC 2024


On Tue, 16 Jan 2024 07:10:23 GMT, Fei Yang <fyang at openjdk.org> wrote:

>> Hamlin Li has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - remove tp/gp
>>  - refine code
>
> FYI: The performance numbers seems more stable on other platforms like Unmatched board (JMH AverageTime mode):
> 
> 
> Before:
> MessageDigests.digest                 SHA-1        64     DEFAULT  avgt   15     3974.419 ?    28.954  ns/op
> MessageDigests.digest                 SHA-1     16384     DEFAULT  avgt   15   411073.165 ?  3731.988  ns/op
> MessageDigests.getAndDigest           SHA-1        64     DEFAULT  avgt   15     7136.679 ?   480.850  ns/op
> MessageDigests.getAndDigest           SHA-1     16384     DEFAULT  avgt   15   429881.929 ?  1265.110  ns/op
> 
> MessageDigests.digest                 SHA-1        64     DEFAULT  avgt   15     3993.060 ?     6.265  ns/op
> MessageDigests.digest                 SHA-1     16384     DEFAULT  avgt   15   410724.751 ?  2075.018  ns/op
> MessageDigests.getAndDigest           SHA-1        64     DEFAULT  avgt   15     7085.596 ?   496.358  ns/op
> MessageDigests.getAndDigest           SHA-1     16384     DEFAULT  avgt   15   430184.356 ?  1052.236  ns/op
> 
> MessageDigests.digest                 SHA-1        64     DEFAULT  avgt   15     4016.232 ?    48.074  ns/op
> MessageDigests.digest                 SHA-1     16384     DEFAULT  avgt   15   417735.231 ?  7001.640  ns/op
> MessageDigests.getAndDigest           SHA-1        64     DEFAULT  avgt   15     7114.528 ?   504.775  ns/op
> MessageDigests.getAndDigest           SHA-1     16384     DEFAULT  avgt   15   438041.321 ? 20056.313  ns/op
> 
> After:
> MessageDigests.digest                 SHA-1        64     DEFAULT  avgt   15     3685.514 ?     5.401  ns/op
> MessageDigests.digest                 SHA-1     16384     DEFAULT  avgt   15   364406.355 ?   217.797  ns/op
> MessageDigests.getAndDigest           SHA-1        64     DEFAULT  avgt   15     5427.864 ?    41.520  ns/op
> MessageDigests.getAndDigest           SHA-1     16384     DEFAULT  avgt   15   367995.806 ?   228.853  ns/op
> 
> MessageDigests.digest                 SHA-1        64     DEFAULT  avgt   15     3681.851 ?     6.591  ns/op
> MessageDigests.digest                 SHA-1     16384     DEFAULT  avgt   15   364433.610 ?   226.146  ns/op
> MessageDigests.getAndDigest           SHA-1        64     DEFAULT  avgt   15     5483.575 ?    46.445  ns/op
> MessageDigests.getAndDigest           SHA-1     16384     DEFAULT  avgt   15   367713.143 ?   348.944  ns/op
> 
> MessageDigests.digest                 SHA-1        64     DEFAULT  avgt   15     3686.556 ?     6.273  ns/op
> MessageDigests.digest                 SHA-1     16384     DEFAULT  avgt   15  ...

@RealFYang Thanks for testing. Yes, also found that on VF 2 test result is more stable than Lichee Pi 4A.

Not sure if we need to further investigate the performance jitter on Lichee Pi 4A, seems it's not related to this implementation. How do yo think about it?

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

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


More information about the hotspot-dev mailing list