RFR: 8329538: Accelerate P256 on x86_64 using Montgomery intrinsic [v4]
Volodymyr Paprotski
duke at openjdk.org
Wed Apr 24 17:01:59 UTC 2024
> Performance. Before:
>
> Benchmark (algorithm) (dataSize) (keyLength) (provider) Mode Cnt Score Error Units
> SignatureBench.ECDSA.sign SHA256withECDSA 1024 256 thrpt 3 6443.934 ± 6.491 ops/s
> SignatureBench.ECDSA.sign SHA256withECDSA 16384 256 thrpt 3 6152.979 ± 4.954 ops/s
> SignatureBench.ECDSA.verify SHA256withECDSA 1024 256 thrpt 3 1895.410 ± 36.979 ops/s
> SignatureBench.ECDSA.verify SHA256withECDSA 16384 256 thrpt 3 1878.955 ± 45.487 ops/s
> Benchmark (algorithm) (keyLength) (kpgAlgorithm) (provider) Mode Cnt Score Error Units
> o.o.b.j.c.full.KeyAgreementBench.EC.generateSecret ECDH 256 EC thrpt 3 1357.810 ± 26.584 ops/s
> o.o.b.j.c.small.KeyAgreementBench.EC.generateSecret ECDH 256 EC thrpt 3 1352.119 ± 23.547 ops/s
> Benchmark (isMontBench) Mode Cnt Score Error Units
> PolynomialP256Bench.benchMultiply false thrpt 3 1746.126 ± 10.970 ops/s
>
> Performance, no intrinsic:
>
> Benchmark (algorithm) (dataSize) (keyLength) (provider) Mode Cnt Score Error Units
> SignatureBench.ECDSA.sign SHA256withECDSA 1024 256 thrpt 3 6529.839 ± 42.420 ops/s
> SignatureBench.ECDSA.sign SHA256withECDSA 16384 256 thrpt 3 6199.747 ± 133.566 ops/s
> SignatureBench.ECDSA.verify SHA256withECDSA 1024 256 thrpt 3 1973.676 ± 54.071 ops/s
> SignatureBench.ECDSA.verify SHA256withECDSA 16384 256 thrpt 3 1932.127 ± 35.920 ops/s
> Benchmark (algorithm) (keyLength) (kpgAlgorithm) (provider) Mode Cnt Score Error Units
> o.o.b.j.c.full.KeyAgreementBench.EC.generateSecret ECDH 256 EC thrpt 3 1355.788 ± 29.858 ops/s
> o.o.b.j.c.small.KeyAgreementBench.EC.generateSecret ECDH 256 EC thrpt 3 1346.523 ± 28.722 ops/s
> Benchmark (isMontBench) Mode Cnt Score Error Units
> PolynomialP256Bench.benchMultiply true thrpt 3 1919.574 ± 10.591 ops/s
>
> Performance, **with intrinsics*...
Volodymyr Paprotski has updated the pull request incrementally with one additional commit since the last revision:
Comments from Tony and Jatin
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/18583/files
- new: https://git.openjdk.org/jdk/pull/18583/files/6f9ac046..c93a71f0
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=18583&range=03
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=18583&range=02-03
Stats: 48 lines in 2 files changed: 20 ins; 20 del; 8 mod
Patch: https://git.openjdk.org/jdk/pull/18583.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/18583/head:pull/18583
PR: https://git.openjdk.org/jdk/pull/18583
More information about the core-libs-dev
mailing list