On Tue, 29 Sep 2026 03:39:43 GMT, Hai-May Chao <[email protected]> wrote:

> Enhance SSLHandshake benchmark to measure the TLS 1.3 server authentication 
> of an ML-DSA-65 server certificate and CertificateVerify, compared with an 
> ECDSA P-256 server authentication profile, across classical and hybrid key 
> exchange groups.
> 
> ---------
> - [X] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

The SSLHandshake benchmark results are:

## Linux AArch64


  Benchmark                                    (handshakeProfile)  (resume)   
Mode  Cnt     Score    Error  Units
  SSLHandshake.doHandshake           TLSv1.2-secp256r1-ecdsa_p256      true  
thrpt   15  6023.945 ± 49.091  ops/s
  SSLHandshake.doHandshake           TLSv1.2-secp256r1-ecdsa_p256     false  
thrpt   15   218.445 ±  2.174  ops/s
  SSLHandshake.doHandshake              TLSv1.3-x25519-ecdsa_p256      true  
thrpt   15   821.909 ±  6.073  ops/s
  SSLHandshake.doHandshake              TLSv1.3-x25519-ecdsa_p256     false  
thrpt   15   404.449 ±  4.465  ops/s
  SSLHandshake.doHandshake           TLSv1.3-secp256r1-ecdsa_p256      true  
thrpt   15   291.396 ±  2.181  ops/s
  SSLHandshake.doHandshake           TLSv1.3-secp256r1-ecdsa_p256     false  
thrpt   15   211.402 ±  2.611  ops/s
  SSLHandshake.doHandshake           TLSv1.3-secp384r1-ecdsa_p256      true  
thrpt   15    81.058 ±  0.229  ops/s
  SSLHandshake.doHandshake           TLSv1.3-secp384r1-ecdsa_p256     false  
thrpt   15    73.121 ±  0.213  ops/s
  SSLHandshake.doHandshake      TLSv1.3-X25519MLKEM768-ecdsa_p256      true  
thrpt   15   675.367 ±  5.876  ops/s
  SSLHandshake.doHandshake      TLSv1.3-X25519MLKEM768-ecdsa_p256     false  
thrpt   15   365.153 ±  5.253  ops/s
  SSLHandshake.doHandshake   TLSv1.3-SecP256r1MLKEM768-ecdsa_p256      true  
thrpt   15   270.081 ±  2.841  ops/s
  SSLHandshake.doHandshake   TLSv1.3-SecP256r1MLKEM768-ecdsa_p256     false  
thrpt   15   199.005 ±  2.253  ops/s
  SSLHandshake.doHandshake  TLSv1.3-SecP384r1MLKEM1024-ecdsa_p256      true  
thrpt   15    78.728 ±  0.261  ops/s
  SSLHandshake.doHandshake  TLSv1.3-SecP384r1MLKEM1024-ecdsa_p256     false  
thrpt   15    71.150 ±  0.233  ops/s
  SSLHandshake.doHandshake                 TLSv1.3-x25519-mldsa65      true  
thrpt   15   856.427 ±  3.781  ops/s
  SSLHandshake.doHandshake                 TLSv1.3-x25519-mldsa65     false  
thrpt   15   506.364 ±  4.522  ops/s
  SSLHandshake.doHandshake              TLSv1.3-secp256r1-mldsa65      true  
thrpt   15   290.872 ±  2.470  ops/s
  SSLHandshake.doHandshake              TLSv1.3-secp256r1-mldsa65     false  
thrpt   15   231.732 ±  3.530  ops/s
  SSLHandshake.doHandshake              TLSv1.3-secp384r1-mldsa65      true  
thrpt   15    81.169 ±  0.321  ops/s
  SSLHandshake.doHandshake              TLSv1.3-secp384r1-mldsa65     false  
thrpt   15    75.606 ±  0.289  ops/s
  SSLHandshake.doHandshake         TLSv1.3-X25519MLKEM768-mldsa65      true  
thrpt   15   702.961 ±  3.762  ops/s
  SSLHandshake.doHandshake         TLSv1.3-X25519MLKEM768-mldsa65     false  
thrpt   15   444.084 ±  3.053  ops/s
  SSLHandshake.doHandshake      TLSv1.3-SecP256r1MLKEM768-mldsa65      true  
thrpt   15   269.530 ±  3.228  ops/s
  SSLHandshake.doHandshake      TLSv1.3-SecP256r1MLKEM768-mldsa65     false  
thrpt   15   218.854 ±  2.805  ops/s
  SSLHandshake.doHandshake     TLSv1.3-SecP384r1MLKEM1024-mldsa65      true  
thrpt   15    78.774 ±  0.211  ops/s
  SSLHandshake.doHandshake     TLSv1.3-SecP384r1MLKEM1024-mldsa65     false  
thrpt   15    73.679 ±  0.345  ops/s



## Linux x64


  Benchmark                                    (handshakeProfile)  (resume)   
Mode  Cnt     Score    Error  Units
  SSLHandshake.doHandshake           TLSv1.2-secp256r1-ecdsa_p256      true  
thrpt   15  9273.246 ± 48.693  ops/s
  SSLHandshake.doHandshake           TLSv1.2-secp256r1-ecdsa_p256     false  
thrpt   15   373.237 ±  1.607  ops/s
  SSLHandshake.doHandshake              TLSv1.3-x25519-ecdsa_p256      true  
thrpt   15  1302.877 ± 16.632  ops/s
  SSLHandshake.doHandshake              TLSv1.3-x25519-ecdsa_p256     false  
thrpt   15   601.247 ±  3.086  ops/s
  SSLHandshake.doHandshake           TLSv1.3-secp256r1-ecdsa_p256      true  
thrpt   15   493.436 ±  0.727  ops/s
  SSLHandshake.doHandshake           TLSv1.3-secp256r1-ecdsa_p256     false  
thrpt   15   362.618 ±  2.601  ops/s
  SSLHandshake.doHandshake           TLSv1.3-secp384r1-ecdsa_p256      true  
thrpt   15   115.201 ±  0.721  ops/s
  SSLHandshake.doHandshake           TLSv1.3-secp384r1-ecdsa_p256     false  
thrpt   15   103.842 ±  0.437  ops/s
  SSLHandshake.doHandshake      TLSv1.3-X25519MLKEM768-ecdsa_p256      true  
thrpt   15  1069.312 ± 10.544  ops/s
  SSLHandshake.doHandshake      TLSv1.3-X25519MLKEM768-ecdsa_p256     false  
thrpt   15   546.426 ±  2.395  ops/s
  SSLHandshake.doHandshake   TLSv1.3-SecP256r1MLKEM768-ecdsa_p256      true  
thrpt   15   455.260 ±  0.701  ops/s
  SSLHandshake.doHandshake   TLSv1.3-SecP256r1MLKEM768-ecdsa_p256     false  
thrpt   15   337.926 ±  3.211  ops/s
  SSLHandshake.doHandshake  TLSv1.3-SecP384r1MLKEM1024-ecdsa_p256      true  
thrpt   15   111.193 ±  0.980  ops/s
  SSLHandshake.doHandshake  TLSv1.3-SecP384r1MLKEM1024-ecdsa_p256     false  
thrpt   15   100.300 ±  1.871  ops/s
  SSLHandshake.doHandshake                 TLSv1.3-x25519-mldsa65      true  
thrpt   15  1466.874 ± 13.981  ops/s
  SSLHandshake.doHandshake                 TLSv1.3-x25519-mldsa65     false  
thrpt   15   926.568 ±  3.822  ops/s
  SSLHandshake.doHandshake              TLSv1.3-secp256r1-mldsa65      true  
thrpt   15   492.980 ±  0.566  ops/s
  SSLHandshake.doHandshake              TLSv1.3-secp256r1-mldsa65     false  
thrpt   15   404.430 ±  2.208  ops/s
  SSLHandshake.doHandshake              TLSv1.3-secp384r1-mldsa65      true  
thrpt   15   115.325 ±  0.861  ops/s
  SSLHandshake.doHandshake              TLSv1.3-secp384r1-mldsa65     false  
thrpt   15   107.289 ±  0.659  ops/s
  SSLHandshake.doHandshake         TLSv1.3-X25519MLKEM768-mldsa65      true  
thrpt   15  1176.036 ± 10.067  ops/s
  SSLHandshake.doHandshake         TLSv1.3-X25519MLKEM768-mldsa65     false  
thrpt   15   785.892 ±  7.030  ops/s
  SSLHandshake.doHandshake      TLSv1.3-SecP256r1MLKEM768-mldsa65      true  
thrpt   15   456.045 ±  0.765  ops/s
  SSLHandshake.doHandshake      TLSv1.3-SecP256r1MLKEM768-mldsa65     false  
thrpt   15   377.330 ±  3.063  ops/s
  SSLHandshake.doHandshake     TLSv1.3-SecP384r1MLKEM1024-mldsa65      true  
thrpt   15   111.318 ±  0.801  ops/s
  SSLHandshake.doHandshake     TLSv1.3-SecP384r1MLKEM1024-mldsa65     false  
thrpt   15   104.162 ±  0.879  ops/s



## Performance analysis

### Linux AArch64

| Key exchange | Resumed throughput: ML-DSA-65 vs ECDSA-P256 | Full throughput: 
ML-DSA-65 vs ECDSA-P256 | Full-handshake time saved |
|---|---:|---:|---:|
| X25519 | +4.2% | +25.2% | 0.498 ms |
| secp256r1 | -0.2% | +9.6% | 0.415 ms |
| secp384r1 | +0.1% | +3.4% | 0.450 ms |
| X25519MLKEM768 | +4.1% | +21.6% | 0.487 ms |
| secp256r1MLKEM768 | -0.2% | +10.0% | 0.456 ms |
| secp384r1MLKEM1024 | +0.1% | +3.6% | 0.482 ms |

### Linux x64

| Key exchange | Resumed throughput: ML-DSA-65 vs ECDSA-P256 | Full throughput: 
ML-DSA-65 vs ECDSA-P256 | Full-handshake time saved |
|---|---:|---:|---:|
| X25519 | +12.6% | +54.1% | 0.584 ms |
| secp256r1 | -0.1% | +11.5% | 0.285 ms |
| secp384r1 | +0.1% | +3.3% | 0.309 ms |
| X25519MLKEM768 | +10.0% | +43.8% | 0.558 ms |
| secp256r1MLKEM768 | +0.2% | +11.7% | 0.309 ms |
| secp384r1MLKEM1024 | +0.1% | +3.9% | 0.370 ms |

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

PR Comment: https://git.openjdk.org/jdk/pull/33111#issuecomment-5883679453

Reply via email to