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