On Sun, 13 Nov 2022 19:58:30 GMT, Xue-Lei Andrew Fan <[email protected]> wrote:
> Hi, > > May I have this update reviewed? > > In the current key pair generation micro-benchmark, there is no cases for > `EdDSA`, `XDH`, and `RSASSA-PSS`. This PR is trying to add these algorithms. > > BTW, here is the benchmarking data on a Linux x86_64 platform. You can see > how much the performance difference could be among key pair generation > algorithms. > > > Benchmark (algorithm) > (keyLength) (provider) Mode Cnt Score Error Units > o.o.b.j.c.full.KeyPairGeneratorBench.EC.generateKeyPair EC > 256 thrpt 40 1647.342 ± 8.548 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.EC.generateKeyPair EC > 384 thrpt 40 698.990 ± 5.647 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.EC.generateKeyPair EC > 521 thrpt 40 364.970 ± 5.556 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.EdDSA.generateKeyPair EdDSA > 255 thrpt 40 2400.202 ± 17.685 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.EdDSA.generateKeyPair EdDSA > 448 thrpt 40 680.304 ± 5.923 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.RSA.generateKeyPair RSA > 1024 thrpt 40 69.614 ± 1.907 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.RSA.generateKeyPair RSA > 2048 thrpt 40 9.192 ± 0.567 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.RSA.generateKeyPair RSA > 3072 thrpt 40 2.352 ± 0.385 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.RSA.generateKeyPair RSA > 4096 thrpt 40 0.815 ± 0.221 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.RSASSAPSS.generateKeyPair RSASSA-PSS > 1024 thrpt 40 70.022 ± 2.336 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.RSASSAPSS.generateKeyPair RSASSA-PSS > 2048 thrpt 40 9.260 ± 0.730 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.RSASSAPSS.generateKeyPair RSASSA-PSS > 3072 thrpt 40 2.305 ± 0.369 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.RSASSAPSS.generateKeyPair RSASSA-PSS > 4096 thrpt 40 0.902 ± 0.194 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.XDH.generateKeyPair XDH > 255 thrpt 40 5061.279 ± 33.878 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.XDH.generateKeyPair XDH > 448 thrpt 40 1404.786 ± 11.083 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.generateKeyPair DSA > 1024 thrpt 40 9486.010 ± 20.242 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.generateKeyPair DSA > 2048 thrpt 40 2174.506 ± 2.514 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.generateKeyPair DiffieHellman > 1024 thrpt 40 3532.067 ± 7.882 ops/s > o.o.b.j.c.full.KeyPairGeneratorBench.generateKeyPair DiffieHellman > 2048 thrpt 40 523.746 ± 0.704 ops/s > o.o.b.j.c.small.KeyPairGeneratorBench.generateKeyPair DSA > 2048 thrpt 40 2171.807 ± 3.505 ops/s > o.o.b.j.c.small.KeyPairGeneratorBench.generateKeyPair RSA > 2048 thrpt 40 9.549 ± 0.809 ops/s > > > > Thanks, > Xuelei The generation might depend on secure randoms a lot. How about create a simple `SecureRandom` that is fast and does not depend on any external entropy source? Maybe you can do the same with the signature benchmark as well. Unfortunately it has already been integrated. ------------- PR: https://git.openjdk.org/jdk/pull/11124
