RFR: 8310813: Simplify and modernize equals, hashCode, and compareTo for BigInteger [v8]

Pavel Rappo prappo at openjdk.org
Fri Nov 10 16:49:05 UTC 2023


On Tue, 7 Nov 2023 07:58:40 GMT, Pavel Rappo <prappo at openjdk.org> wrote:

>> Please review this PR to use modern APIs and language features to simplify equals, hashCode, and compareTo for BigInteger. If you have any performance concerns, please raise them.
>> 
>> This PR is cherry-picked from a bigger, not-yet-published PR, to test the waters. That latter PR will be published soon.
>
> Pavel Rappo has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 15 additional commits since the last revision:
> 
>  - Merge branch 'master' into 8310813
>  - Merge branch 'master' into 8310813
>  - Fix bugs in Shared.createSingle
>  - Merge branch 'master' into 8310813
>  - Group params coarser (suggested by @cl4es)
>    
>    - Splits 20 params into 3 groups: (S)mall, (M)edium and (L)arge.
>      Every testXYZ method invokes M operations, where M is the maximum
>      number of elements in a group. Shorter groups are cyclically padded.
>    - Uses the org.openjdk.jmh.infra.Blackhole API and increases
>      benchmark time.
>    - Fixes a bug in Shared that precluded 0 from being in a pair.
>  - Use better overloads (suggested by @cl4es)
>    
>    - Uses simpler, more suitable overloads for the subrange
>      starting from 0
>  - Improve benchmarks
>  - Merge branch 'master' into 8310813
>  - Restore hash code values
>    
>    BigInteger is old and ubiquitous enough so that there might be
>    inadvertent dependencies on its hash code.
>    
>    This commit also includes a test, to make sure hash code is
>    unchanged.
>  - Merge branch 'master' into 8310813
>  - ... and 5 more: https://git.openjdk.org/jdk/compare/8ac67427...155fedba

Here's a benchmark which was performed after the most recent merge (155fedb) with openjdk/jdk master. Factor it in your review.

In addition to the new benchmarks, I included some benchmarks from the security area, which might be affected by this PR. If security-dev (cc'ed earlier) thinks I should benchmark anything else, please let me know.

To reduce horizontal scrolling and make the table easier on the eyes, leading `openjdk.bench.java.` was removed from the name of each benchmark; then leading `math` and `security` were replaced with `m` and `s` respectively.

|Benchmark                                                                                  |  Linux aarch64|  Linux x64|  MacOSX aarch64|  MacOSX x64|  Windows x64|
|:------------------------------------------------------------------------------------------|--------------:|----------:|---------------:|-----------:|------------:|
|m.BigIntegerCompareTo.testCompareTo-group:L                                                |         25.59%|     41.63%|          31.77%|      29.87%|       41.60%|
|m.BigIntegerCompareTo.testCompareTo-group:M                                                |          1.67%|     -2.14%|          11.55%|      -8.86%|       -2.08%|
|m.BigIntegerCompareTo.testCompareTo-group:S                                                |         -9.48%|      1.85%|          -7.39%|      -1.13%|        2.47%|
|m.BigIntegerEquals.testEquals-group:L                                                      |          8.41%|     15.42%|          17.44%|      -6.24%|        4.32%|
|m.BigIntegerEquals.testEquals-group:M                                                      |         -0.59%|    -17.27%|           3.43%|     -25.37%|      -30.70%|
|m.BigIntegerEquals.testEquals-group:S                                                      |          5.62%|    -36.56%|          11.45%|     -29.62%|      -26.71%|
|m.BigIntegerHashCode.testHashCode-group:L                                                  |          0.01%|     78.80%|           0.01%|      70.25%|       78.70%|
|m.BigIntegerHashCode.testHashCode-group:M                                                  |          0.00%|     30.25%|          -0.03%|      20.46%|       27.40%|
|m.BigIntegerHashCode.testHashCode-group:S                                                  |          1.18%|     38.16%|           1.80%|      24.49%|       38.92%|
|m.BigIntegerParallelMultiply.multiply-n:1000000                                            |         -1.74%|      0.89%|           2.76%|       0.16%|        0.55%|
|m.BigIntegerParallelMultiply.multiply-n:10000000                                           |          0.22%|     -0.13%|           0.85%|      -1.90%|       -0.47%|
|m.BigIntegerParallelMultiply.multiply-n:100000000                                          |         -0.01%|     -2.28%|           0.31%|       2.51%|       -0.71%|
|m.BigIntegerParallelMultiply.parallelMultiply-n:1000000                                    |         -6.10%|      0.32%|           0.83%|       2.58%|        2.27%|
|m.BigIntegerParallelMultiply.parallelMultiply-n:10000000                                   |         -4.23%|     -2.49%|           1.54%|       0.94%|       -1.53%|
|m.BigIntegerParallelMultiply.parallelMultiply-n:100000000                                  |          0.07%|     -0.80%|           0.53%|       0.86%|        0.41%|
|m.BigIntegers.SmallShifts.testLeftShift-maxNumbits:128                                     |          2.83%|     -1.87%|          -0.49%|      -0.81%|       -0.13%|
|m.BigIntegers.SmallShifts.testLeftShift-maxNumbits:256                                     |         -1.38%|     -0.32%|          -0.48%|       0.07%|        0.25%|
|m.BigIntegers.SmallShifts.testLeftShift-maxNumbits:32                                      |          0.14%|      0.01%|           2.77%|       0.30%|       -0.81%|
|m.BigIntegers.SmallShifts.testRightShift-maxNumbits:128                                    |         -2.91%|      0.20%|          -2.99%|      -0.72%|        0.46%|
|m.BigIntegers.SmallShifts.testRightShift-maxNumbits:256                                    |         -2.35%|      0.02%|           1.56%|       0.54%|        3.65%|
|m.BigIntegers.SmallShifts.testRightShift-maxNumbits:32                                     |         -0.12%|     -0.70%|          -2.96%|       0.22%|       -0.89%|
|m.BigIntegers.testAdd                                                                      |         -0.05%|      1.36%|          -1.20%|       0.15%|        1.58%|
|m.BigIntegers.testGcd                                                                      |         -0.08%|      0.44%|           0.05%|      -0.08%|        0.12%|
|m.BigIntegers.testHugeToString                                                             |         -0.30%|     -0.58%|          -0.10%|      -0.47%|        1.25%|
|m.BigIntegers.testLargeToString                                                            |         -2.30%|     -0.36%|           0.01%|      -0.06%|        1.98%|
|m.BigIntegers.testLeftShift                                                                |          0.53%|      0.94%|          -0.12%|      12.72%|        0.09%|
|m.BigIntegers.testMultiply                                                                 |         -0.03%|      0.01%|          -0.37%|       0.19%|       -0.07%|
|m.BigIntegers.testRightShift                                                               |          0.45%|      0.17%|           0.13%|       0.06%|        0.62%|
|m.BigIntegers.testSmallToString                                                            |         -0.22%|     -3.08%|          10.58%|      -0.11%|       -0.14%|
|s.AlgorithmConstraintsPermits.permits-algorithm:DES                                        |          0.09%|     -0.03%|           0.00%|      -0.05%|        0.00%|
|s.AlgorithmConstraintsPermits.permits-algorithm:NULL                                       |          3.46%|     -0.00%|          -0.09%|      -0.25%|        0.05%|
|s.AlgorithmConstraintsPermits.permits-algorithm:SSLv3                                      |          0.18%|      0.00%|          -0.07%|       0.05%|       -0.78%|
|s.AlgorithmConstraintsPermits.permits-algorithm:TLS1_3                                     |         -3.55%|      0.01%|           0.19%|      -0.06%|        0.28%|
|s.CacheBench.get-size:20480-timeout:0                                                      |         -0.75%|      2.24%|           0.37%|      -0.06%|       -1.10%|
|s.CacheBench.get-size:20480-timeout:86400                                                  |         -0.28%|      0.11%|          -0.18%|       1.03%|        0.99%|
|s.CacheBench.get-size:204800-timeout:0                                                     |         -0.62%|     -1.72%|          -2.97%|      -0.50%|       -0.43%|
|s.CacheBench.get-size:204800-timeout:86400                                                 |          1.42%|     -0.73%|           0.17%|      -0.29%|        0.08%|
|s.CacheBench.get-size:5120000-timeout:0                                                    |          3.95%|      4.65%|           1.70%|      -1.18%|        3.32%|
|s.CacheBench.get-size:5120000-timeout:86400                                                |         -0.62%|      1.36%|          -0.12%|       0.78%|       -3.43%|
|s.CacheBench.put-size:20480-timeout:0                                                      |         -0.24%|      2.44%|          -0.55%|      -1.15%|        2.81%|
|s.CacheBench.put-size:20480-timeout:86400                                                  |         -0.25%|      1.56%|          -0.13%|      -0.21%|       -0.19%|
|s.CacheBench.put-size:204800-timeout:0                                                     |         -0.71%|     -1.07%|           0.19%|       0.12%|        0.42%|
|s.CacheBench.put-size:204800-timeout:86400                                                 |         -0.16%|      1.15%|           0.08%|      -0.17%|        0.85%|
|s.CacheBench.put-size:5120000-timeout:0                                                    |          0.67%|      2.10%|           2.44%|       1.80%|       -2.10%|
|s.CacheBench.put-size:5120000-timeout:86400                                                |          0.35%|      0.56%|          -1.37%|       0.17%|        1.14%|
|s.CacheBench.remove-size:20480-timeout:0                                                   |          3.87%|      0.52%|           0.92%|       0.35%|       -0.74%|
|s.CacheBench.remove-size:20480-timeout:86400                                               |          1.00%|      0.61%|           0.08%|       0.32%|       -1.49%|
|s.CacheBench.remove-size:204800-timeout:0                                                  |          3.90%|      0.86%|           1.37%|      -1.25%|       -0.62%|
|s.CacheBench.remove-size:204800-timeout:86400                                              |         -3.40%|      0.73%|          -0.11%|       0.10%|       -2.99%|
|s.CacheBench.remove-size:5120000-timeout:0                                                 |         -2.43%|     -3.88%|          -0.51%|       0.46%|        0.12%|
|s.CacheBench.remove-size:5120000-timeout:86400                                             |          3.82%|     -0.07%|          -0.36%|      -2.73%|       -1.58%|
|s.CipherSuiteBench.benchmarkCipherSuite-cipherSuite:TLS_AES_256_GCM_SHA384                 |         -0.19%|     -1.17%|           0.33%|      -5.94%|        2.67%|
|s.CipherSuiteBench.benchmarkCipherSuite-cipherSuite:TLS_DHE_DSS_WITH_AES_128_CBC_SHA256    |         -2.48%|      2.27%|           0.50%|      -1.16%|       -0.61%|
|s.CipherSuiteBench.benchmarkCipherSuite-cipherSuite:TLS_DHE_RSA_WITH_AES_256_CBC_SHA       |         -0.21%|     -1.97%|          -0.47%|      -0.20%|        0.00%|
|s.CipherSuiteBench.benchmarkCipherSuite-cipherSuite:TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384|          1.30%|      1.64%|          -0.12%|      -3.01%|       -3.36%|
|s.DoPrivileged.test                                                                        |          0.34%|      0.02%|          -0.11%|       0.07%|       -4.00%|
|s.DoPrivileged.testInline                                                                  |         -0.34%|     -0.01%|          -0.04%|      14.05%|       -9.02%|
|s.GetContext.Deep.testNonPrivRecurse-depth:2                                               |         -0.19%|     -1.48%|          -1.63%|      -0.35%|        0.66%|
|s.GetContext.Deep.testNonPrivRecurse-depth:50                                              |          5.26%|     -0.67%|          -1.27%|       1.48%|       -0.64%|
|s.GetContext.Deep.testPrivInline-depth:2                                                   |         -5.64%|      1.09%|           0.36%|      -0.14%|       -0.43%|
|s.GetContext.Deep.testPrivInline-depth:50                                                  |          1.33%|     -2.29%|          -0.44%|       0.76%|       -1.06%|
|s.GetContext.Top.testNonPriv                                                               |          1.80%|      1.45%|          -0.85%|       0.44%|       -0.07%|
|s.GetContext.Top.testPriv                                                                  |         -4.01%|      1.43%|           0.38%|      -1.05%|       -0.31%|
|s.GetMessageDigest.cloneInstance-digesterName:SHA_1                                        |          2.12%|      0.49%|          -0.28%|      -0.07%|       -3.90%|
|s.GetMessageDigest.cloneInstance-digesterName:SHA_256                                      |          0.73%|     -0.40%|           0.25%|       0.73%|       -0.89%|
|s.GetMessageDigest.cloneInstance-digesterName:md5                                          |          0.53%|     -1.36%|           0.13%|      -0.13%|       -2.36%|
|s.GetMessageDigest.getInstance-digesterName:SHA_1                                          |         -2.08%|      1.18%|          -0.24%|      -2.59%|        0.30%|
|s.GetMessageDigest.getInstance-digesterName:SHA_256                                        |          1.58%|      0.86%|           0.18%|       0.56%|        3.53%|
|s.GetMessageDigest.getInstance-digesterName:md5                                            |         -1.74%|     -3.66%|          -0.20%|       0.01%|        7.36%|
|s.GetMessageDigest.getInstanceWithProvider-digesterName:SHA_1                              |          0.83%|     -0.51%|           0.11%|      -0.32%|        0.12%|
|s.GetMessageDigest.getInstanceWithProvider-digesterName:SHA_256                            |          0.90%|      1.06%|           0.14%|       2.48%|       -1.64%|
|s.GetMessageDigest.getInstanceWithProvider-digesterName:md5                                |         -0.05%|      1.61%|          -0.11%|      -0.13%|       -0.06%|
|s.HSS.test01.verify-test:RFC 8554 1                                                        |          1.00%|      0.45%|          -1.15%|      -0.03%|        0.57%|
|s.HSS.test02.verify-test:RFC 8554 2                                                        |         -0.18%|      0.33%|           0.76%|      -0.26%|        0.45%|
|s.HSS.test03.verify-test: h15_w8                                                           |         -0.09%|     -0.00%|          -0.23%|      -0.10%|       -0.73%|
|s.HSS.test04.verify-test: h20_w8                                                           |         -0.83%|     -0.02%|          -0.49%|       0.23%|        0.17%|
|s.HSS.test05.verify-test: h15_w4                                                           |          0.15%|      0.25%|           0.54%|       0.05%|       -0.21%|
|s.HSS.test06.verify-test: h20_w4                                                           |          0.00%|      0.33%|           2.65%|      -0.47%|        1.04%|
|s.HSS.test07.verify-test:h15_w4_h10_w4                                                     |          0.14%|      0.19%|           0.17%|      -0.48%|       -0.04%|
|s.HSS.test08.verify-test:h15_w4_h15_w4                                                     |          0.10%|      0.51%|          -0.38%|       0.12%|        0.59%|
|s.HSS.test09.verify-test:h20_w4_h10_w4                                                     |         -0.01%|      0.82%|          -0.12%|       0.37%|       -0.79%|
|s.HSS.test10.verify-test:h20_w4_h15_w4                                                     |         -0.12%|     -1.20%|          -0.09%|       0.04%|        1.02%|
|s.HSS.verify-test:noop                                                                     |         -1.78%|     -4.47%|          -3.98%|      -1.69%|       -5.32%|
|s.MessageDigests.digest-digesterName:SHA3_256-length:16384-provider:DEFAULT                |          0.00%|      0.02%|           0.02%|       0.04%|        0.36%|
|s.MessageDigests.digest-digesterName:SHA3_256-length:64-provider:DEFAULT                   |          0.08%|     -0.10%|           0.03%|      -0.37%|       -0.52%|
|s.MessageDigests.digest-digesterName:SHA3_512-length:16384-provider:DEFAULT                |          0.02%|      0.01%|           0.02%|       0.11%|        0.03%|
|s.MessageDigests.digest-digesterName:SHA3_512-length:64-provider:DEFAULT                   |         -0.22%|      0.03%|           0.03%|      -0.04%|        0.17%|
|s.MessageDigests.digest-digesterName:SHA_1-length:16384-provider:DEFAULT                   |         -0.01%|     -0.02%|           0.05%|       0.19%|       -0.03%|
|s.MessageDigests.digest-digesterName:SHA_1-length:64-provider:DEFAULT                      |          0.55%|     -0.70%|          -5.04%|      -0.02%|       -0.44%|
|s.MessageDigests.digest-digesterName:SHA_224-length:16384-provider:DEFAULT                 |          0.00%|     -0.01%|           0.08%|      -0.13%|        0.02%|
|s.MessageDigests.digest-digesterName:SHA_224-length:64-provider:DEFAULT                    |          1.11%|      0.06%|           0.97%|      -0.24%|        1.81%|
|s.MessageDigests.digest-digesterName:SHA_256-length:16384-provider:DEFAULT                 |          0.00%|     -0.01%|           0.03%|      -0.10%|        0.05%|
|s.MessageDigests.digest-digesterName:SHA_256-length:64-provider:DEFAULT                    |          0.31%|      0.05%|          -0.96%|      -0.60%|       -0.39%|
|s.MessageDigests.digest-digesterName:SHA_384-length:16384-provider:DEFAULT                 |         -0.01%|     -0.03%|           0.01%|      -0.08%|        0.08%|
|s.MessageDigests.digest-digesterName:SHA_384-length:64-provider:DEFAULT                    |          0.09%|     -0.46%|           2.90%|      -0.18%|       -0.27%|
|s.MessageDigests.digest-digesterName:SHA_512-length:16384-provider:DEFAULT                 |         -0.00%|     -0.02%|          -0.00%|       0.01%|        0.03%|
|s.MessageDigests.digest-digesterName:SHA_512-length:64-provider:DEFAULT                    |         -0.05%|     -0.76%|          -1.10%|       0.18%|        0.42%|
|s.MessageDigests.digest-digesterName:md5-length:16384-provider:DEFAULT                     |         -0.00%|     -0.01%|          -0.00%|       0.11%|       -0.00%|
|s.MessageDigests.digest-digesterName:md5-length:64-provider:DEFAULT                        |         -0.02%|      0.03%|           2.25%|      -1.43%|       -0.21%|
|s.MessageDigests.getAndDigest-digesterName:SHA3_256-length:16384-provider:DEFAULT          |          0.01%|      0.14%|           0.01%|       0.42%|       -0.13%|
|s.MessageDigests.getAndDigest-digesterName:SHA3_256-length:64-provider:DEFAULT             |          0.13%|      0.09%|           0.10%|      -0.00%|       -0.33%|
|s.MessageDigests.getAndDigest-digesterName:SHA3_512-length:16384-provider:DEFAULT          |         -0.04%|     -0.07%|          -0.05%|      -0.04%|        0.30%|
|s.MessageDigests.getAndDigest-digesterName:SHA3_512-length:64-provider:DEFAULT             |         -0.10%|     -0.15%|          -0.01%|      -0.59%|        0.27%|
|s.MessageDigests.getAndDigest-digesterName:SHA_1-length:16384-provider:DEFAULT             |         -0.02%|      0.02%|          -0.09%|      -0.01%|        0.06%|
|s.MessageDigests.getAndDigest-digesterName:SHA_1-length:64-provider:DEFAULT                |         -0.05%|      1.05%|           2.55%|       0.02%|       -0.01%|
|s.MessageDigests.getAndDigest-digesterName:SHA_224-length:16384-provider:DEFAULT           |         -0.15%|     -0.09%|          -0.14%|      -0.20%|        0.07%|
|s.MessageDigests.getAndDigest-digesterName:SHA_224-length:64-provider:DEFAULT              |          0.12%|      0.29%|           5.47%|      -0.02%|       -0.06%|
|s.MessageDigests.getAndDigest-digesterName:SHA_256-length:16384-provider:DEFAULT           |          0.00%|      0.00%|          -0.00%|       0.12%|       -0.14%|
|s.MessageDigests.getAndDigest-digesterName:SHA_256-length:64-provider:DEFAULT              |         -0.60%|     -0.10%|           0.60%|       0.21%|        0.24%|
|s.MessageDigests.getAndDigest-digesterName:SHA_384-length:16384-provider:DEFAULT           |         -0.01%|     -0.03%|           0.00%|       0.13%|        0.09%|
|s.MessageDigests.getAndDigest-digesterName:SHA_384-length:64-provider:DEFAULT              |         -0.74%|     -0.42%|           0.23%|      -0.63%|       -0.38%|
|s.MessageDigests.getAndDigest-digesterName:SHA_512-length:16384-provider:DEFAULT           |         -0.01%|      0.03%|          -0.06%|       0.11%|        0.15%|
|s.MessageDigests.getAndDigest-digesterName:SHA_512-length:64-provider:DEFAULT              |         -0.78%|      0.48%|          -0.16%|       0.58%|       -0.75%|
|s.MessageDigests.getAndDigest-digesterName:md5-length:16384-provider:DEFAULT               |         -0.04%|     -0.01%|          -0.01%|       0.00%|       -0.00%|
|s.MessageDigests.getAndDigest-digesterName:md5-length:64-provider:DEFAULT                  |          0.17%|      0.23%|           1.53%|      -0.56%|        0.37%|
|s.PKCS12KeyStores.instrong10000_New                                                        |          1.49%|     -1.52%|           0.01%|       1.80%|        0.79%|
|s.PKCS12KeyStores.instrong2048                                                             |          0.34%|     -1.44%|          -1.84%|       1.20%|       -0.02%|
|s.PKCS12KeyStores.instrong50000                                                            |         -1.35%|     -0.10%|          -6.56%|       0.66%|       -0.01%|
|s.PKCS12KeyStores.inweak2048                                                               |          1.48%|     -0.08%|          -1.12%|       0.49%|       -0.55%|
|s.PKCS12KeyStores.inweak50000_Old                                                          |          0.75%|      0.32%|          -0.38%|      -0.86%|        0.48%|
|s.PKCS12KeyStores.outstrong10000_New                                                       |          0.03%|      2.20%|          -0.33%|      -0.52%|        2.87%|
|s.PKCS12KeyStores.outstrong2048                                                            |          0.09%|     -1.31%|          -2.58%|       0.58%|       -1.58%|
|s.PKCS12KeyStores.outstrong50000                                                           |          0.12%|     -3.98%|          -1.03%|      -1.77%|        0.15%|
|s.PKCS12KeyStores.outweak2048                                                              |          0.10%|      0.82%|          -0.18%|       2.40%|       -2.75%|
|s.PKCS12KeyStores.outweak50000_Old                                                         |          0.47%|      0.01%|          -0.52%|      -0.54%|       -3.71%|
|s.PermissionsImplies.withPermission                                                        |         -0.18%|      0.00%|           0.01%|      -0.01%|       -0.71%|
|s.PermissionsImplies.withUnresolvedPermission                                              |         -4.60%|     -0.08%|           0.01%|       0.03%|        3.59%|
|s.PermissionsImplies.withoutPermission                                                     |          0.01%|     -1.29%|          -0.23%|       0.25%|        0.07%|
|s.ProtectionDomainBench.noSecurityManager-numberOfClasses:100-numberOfCodeSources:10       |         -0.01%|      1.10%|           0.27%|       0.55%|       -0.39%|
|s.ProtectionDomainBench.withSecurityManager-numberOfClasses:100-numberOfCodeSources:10     |         -1.70%|     -1.36%|          -0.36%|      -2.10%|        1.59%|
|s.SSLHandshake.doHandshake-resume:false-tlsVersion:TLS                                     |         -0.35%|      0.51%|           0.00%|      -0.08%|       -0.36%|
|s.SSLHandshake.doHandshake-resume:false-tlsVersion:TLSv1_2                                 |         -0.12%|      0.37%|          -0.09%|       0.32%|       -0.10%|
|s.SSLHandshake.doHandshake-resume:true-tlsVersion:TLS                                      |          0.27%|      0.35%|           0.24%|      -0.17%|       -0.78%|
|s.SSLHandshake.doHandshake-resume:true-tlsVersion:TLSv1_2                                  |         -1.20%|     -0.36%|          -0.06%|      -1.43%|        0.29%|
|s.Signatures.DSA.sign-algorithm:SHA256withDSA-messageLength:16384                          |          0.03%|     -0.03%|           0.01%|       0.16%|       -0.03%|
|s.Signatures.DSA.sign-algorithm:SHA256withDSA-messageLength:2048                           |         -0.02%|     -0.01%|          -0.00%|       0.19%|        0.06%|
|s.Signatures.DSA.sign-algorithm:SHA256withDSA-messageLength:512                            |         -0.03%|     -0.06%|           0.01%|       0.28%|       -0.14%|
|s.Signatures.DSA.sign-algorithm:SHA256withDSA-messageLength:64                             |         -0.05%|     -0.04%|           0.01%|       0.13%|        0.04%|
|s.Signatures.DSA.sign-algorithm:SHA384withDSA-messageLength:16384                          |         -0.02%|      0.05%|          -0.02%|      -0.12%|       -0.42%|
|s.Signatures.DSA.sign-algorithm:SHA384withDSA-messageLength:2048                           |          0.01%|      0.01%|          -0.00%|      -0.31%|       -0.01%|
|s.Signatures.DSA.sign-algorithm:SHA384withDSA-messageLength:512                            |         -0.02%|     -0.04%|          -0.01%|       0.60%|       -0.02%|
|s.Signatures.DSA.sign-algorithm:SHA384withDSA-messageLength:64                             |         -0.03%|     -0.04%|          -0.06%|      -0.09%|       -0.06%|
|s.Signatures.DSA.sign-algorithm:SHA512withDSA-messageLength:16384                          |          0.01%|     -0.03%|           0.02%|       0.13%|       -0.03%|
|s.Signatures.DSA.sign-algorithm:SHA512withDSA-messageLength:2048                           |         -0.00%|      0.03%|           0.04%|       0.07%|       -0.05%|
|s.Signatures.DSA.sign-algorithm:SHA512withDSA-messageLength:512                            |         -0.00%|      0.02%|          -0.01%|      -0.13%|        0.02%|
|s.Signatures.DSA.sign-algorithm:SHA512withDSA-messageLength:64                             |         -0.04%|     -0.06%|          -0.03%|      -0.37%|       -0.03%|
|s.Signatures.EdDSA.sign-algorithm:Ed25519-messageLength:16384                              |         -0.03%|     -0.84%|          -0.05%|       0.07%|        0.18%|
|s.Signatures.EdDSA.sign-algorithm:Ed25519-messageLength:2048                               |         -0.02%|      0.11%|           0.03%|      -0.06%|       -0.62%|
|s.Signatures.EdDSA.sign-algorithm:Ed25519-messageLength:512                                |         -0.06%|      1.11%|           0.09%|       0.62%|       -1.25%|
|s.Signatures.EdDSA.sign-algorithm:Ed25519-messageLength:64                                 |         -0.01%|     -1.12%|          -0.00%|      -0.43%|       -0.31%|
|s.Signatures.EdDSA.sign-algorithm:Ed448-messageLength:16384                                |         -0.03%|      1.01%|          -0.03%|       0.01%|        0.58%|
|s.Signatures.EdDSA.sign-algorithm:Ed448-messageLength:2048                                 |          0.05%|      0.27%|          -0.04%|      -0.18%|        1.90%|
|s.Signatures.EdDSA.sign-algorithm:Ed448-messageLength:512                                  |         -0.08%|      0.42%|          -0.19%|      -0.12%|        0.01%|
|s.Signatures.EdDSA.sign-algorithm:Ed448-messageLength:64                                   |          0.03%|     -0.62%|           0.12%|      -0.43%|        3.17%|
|s.Signatures.RSA.sign-algorithm:SHA256withRSA-messageLength:16384                          |          0.02%|     -0.37%|           0.32%|      -0.11%|       -0.09%|
|s.Signatures.RSA.sign-algorithm:SHA256withRSA-messageLength:2048                           |          0.03%|     -0.23%|          -0.06%|       0.02%|        0.21%|
|s.Signatures.RSA.sign-algorithm:SHA256withRSA-messageLength:512                            |         -0.10%|      0.07%|           0.34%|      -0.01%|       -0.29%|
|s.Signatures.RSA.sign-algorithm:SHA256withRSA-messageLength:64                             |          0.19%|      0.28%|          -0.25%|       0.07%|        0.07%|
|s.Signatures.RSA.sign-algorithm:SHA384withRSA-messageLength:16384                          |          0.04%|     -0.10%|          -0.14%|       0.42%|        0.36%|
|s.Signatures.RSA.sign-algorithm:SHA384withRSA-messageLength:2048                           |          0.04%|     -0.00%|          -0.20%|       0.00%|        0.82%|
|s.Signatures.RSA.sign-algorithm:SHA384withRSA-messageLength:512                            |         -0.03%|     -0.23%|           0.04%|       0.09%|       -0.11%|
|s.Signatures.RSA.sign-algorithm:SHA384withRSA-messageLength:64                             |         -0.13%|     -0.11%|           0.08%|       0.70%|        0.24%|
|s.Signatures.RSA.sign-algorithm:SHA512withRSA-messageLength:16384                          |          0.11%|      0.04%|           0.04%|       0.11%|        0.05%|
|s.Signatures.RSA.sign-algorithm:SHA512withRSA-messageLength:2048                           |         -0.05%|      0.21%|           0.04%|       0.20%|        0.27%|
|s.Signatures.RSA.sign-algorithm:SHA512withRSA-messageLength:512                            |         -0.00%|      0.01%|          -0.04%|       0.11%|       -0.03%|
|s.Signatures.RSA.sign-algorithm:SHA512withRSA-messageLength:64                             |          0.01%|     -0.48%|           0.11%|       0.22%|        0.02%|
|s.Signatures.RSASSAPSS.sign-algorithm:SHA256-messageLength:16384                           |          0.15%|      0.07%|          -0.19%|      -0.26%|       -0.02%|
|s.Signatures.RSASSAPSS.sign-algorithm:SHA256-messageLength:2048                            |          0.17%|     -0.01%|          -0.22%|      -0.63%|       -0.19%|
|s.Signatures.RSASSAPSS.sign-algorithm:SHA256-messageLength:512                             |         -0.32%|     -0.15%|          -0.06%|      -0.01%|        0.22%|
|s.Signatures.RSASSAPSS.sign-algorithm:SHA256-messageLength:64                              |          0.00%|     -0.05%|           0.08%|       0.06%|        0.01%|
|s.Signatures.RSASSAPSS.sign-algorithm:SHA384-messageLength:16384                           |         -0.03%|      0.05%|          -0.06%|       0.68%|        0.21%|
|s.Signatures.RSASSAPSS.sign-algorithm:SHA384-messageLength:2048                            |          0.01%|     -0.10%|           0.04%|       0.10%|        0.15%|
|s.Signatures.RSASSAPSS.sign-algorithm:SHA384-messageLength:512                             |         -0.01%|     -0.06%|           0.02%|      -0.49%|        0.58%|
|s.Signatures.RSASSAPSS.sign-algorithm:SHA384-messageLength:64                              |          0.11%|     -0.24%|          -0.07%|       0.24%|       -0.13%|
|s.Signatures.RSASSAPSS.sign-algorithm:SHA512-messageLength:16384                           |         -0.02%|     -0.17%|           0.05%|       0.06%|        0.07%|
|s.Signatures.RSASSAPSS.sign-algorithm:SHA512-messageLength:2048                            |         -0.08%|     -0.06%|           0.15%|       0.09%|       -0.10%|
|s.Signatures.RSASSAPSS.sign-algorithm:SHA512-messageLength:512                             |         -0.04%|      0.00%|           0.24%|       0.08%|        0.03%|
|s.Signatures.RSASSAPSS.sign-algorithm:SHA512-messageLength:64                              |          0.05%|      0.07%|          -0.16%|       0.21%|        0.09%|
|s.Signatures.sign-algorithm:secp256r1-messageLength:16384                                  |          0.11%|      0.25%|          -0.83%|      -0.35%|        0.68%|
|s.Signatures.sign-algorithm:secp256r1-messageLength:2048                                   |          0.07%|      1.17%|           0.50%|      -0.14%|       -0.38%|
|s.Signatures.sign-algorithm:secp256r1-messageLength:512                                    |         -0.01%|      3.95%|          -0.22%|      -0.37%|       -0.45%|
|s.Signatures.sign-algorithm:secp256r1-messageLength:64                                     |          0.00%|      3.77%|          -0.19%|      -0.21%|       -0.38%|
|s.Signatures.sign-algorithm:secp384r1-messageLength:16384                                  |         -0.03%|      0.44%|           0.09%|      -0.22%|        0.21%|
|s.Signatures.sign-algorithm:secp384r1-messageLength:2048                                   |         -0.05%|      0.88%|          -0.53%|      -0.09%|        0.53%|
|s.Signatures.sign-algorithm:secp384r1-messageLength:512                                    |         -0.00%|      0.36%|           0.03%|      -0.23%|        0.27%|
|s.Signatures.sign-algorithm:secp384r1-messageLength:64                                     |         -0.00%|     -0.36%|           0.31%|       0.31%|        0.12%|
|s.Signatures.sign-algorithm:secp521r1-messageLength:16384                                  |         -0.01%|      0.51%|          -0.01%|      -0.03%|        0.58%|
|s.Signatures.sign-algorithm:secp521r1-messageLength:2048                                   |         -0.01%|      0.07%|           0.04%|      -0.17%|        0.51%|
|s.Signatures.sign-algorithm:secp521r1-messageLength:512                                    |          0.00%|     -0.14%|          -0.05%|      -0.18%|       -1.12%|
|s.Signatures.sign-algorithm:secp521r1-messageLength:64                                     |         -0.01%|     -0.27%|           0.03%|      -0.24%|        0.62%|

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

PR Comment: https://git.openjdk.org/jdk/pull/14630#issuecomment-1806069239



More information about the security-dev mailing list