Skip to content

Commit c979961

Browse files
committed
docs: note wNAF experiment and updated handshake ratios
1 parent 8c7526f commit c979961

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

docs/BENCHMARKS.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ cmake --build /tmp/boringssl/build -j
2424
| Benchmark | zig-tls | BoringSSL | Ratio (zig / BoringSSL) |
2525
|-----------|---------|-----------|-------------------------|
2626
| Handshake TLS 1.3 (minimal ECDHE) | **~8280 /s** |||
27-
| Handshake TLS 1.3 (ECDHE + cert) | **~5970 /s** | ~6770 /s | ~0.88× |
28-
| Handshake TLS 1.3 (ECDHE + cert + client verify) | **~4880 /s** | ~5980 /s | ~0.82× |
27+
| Handshake TLS 1.3 (ECDHE + cert) | **~5760 /s** | ~6770 /s | ~0.85× |
28+
| Handshake TLS 1.3 (ECDHE + cert + client verify) | **~4760 /s** | ~6630 /s | ~0.72× |
2929
| Transfer send AES-128-GCM (16 KiB) | **~8340 MB/s** | ~8450 MB/s | ~0.99× |
3030
| Transfer recv AES-128-GCM (16 KiB) | **~8030 MB/s** | ~8330 MB/s | ~0.96× |
3131
| Transfer send AES-256-GCM (16 KiB) | **~7780 MB/s** | ~7740 MB/s | ~1.01× |
@@ -41,8 +41,8 @@ row. zig-tls reports both minimal (`auth = null`) and cert handshake rows.
4141
| Category | Winner |
4242
|----------|--------|
4343
| Minimal handshake | **zig-tls** (zig-only row) |
44-
| Cert handshake | BoringSSL (~13%; ECDSA verify dominates) |
45-
| Cert + verify handshake | BoringSSL (~18%; ECDSA verify dominates) |
44+
| Cert handshake | BoringSSL (~15%; ECDSA verify dominates) |
45+
| Cert + verify handshake | BoringSSL (~28%; ECDSA + chain verify) |
4646
| Transfer AES-128 send | Parity |
4747
| Transfer AES-128 recv | Parity |
4848
| Transfer AES-256 send | Parity |
@@ -139,6 +139,11 @@ Categories mirror [rustls perf](https://rustls.dev/perf/):
139139
`Z⁻¹` per row (`batchInvertFe`) replaces per-entry field inverts.
140140
- **ECDSA verify x-only:** `mulDoubleBaseVarTimeXFromTables` + `jacobianXCoord` skip full
141141
affine normalization when comparing `r` (verify hot path).
142+
- **w7 Shamir loop:** booth windows precomputed once per scalar; 37-step double-base loop
143+
fully unrolled at comptime.
144+
- **BoringSSL `point_mul_public` (experimental):** Zig + optional Bedrock C ports of wNAF
145+
interleaved double-base; **disabled by default** (257 Jacobian/projective doubles lose to
146+
unified w7 Shamir on Apple Silicon).
142147
- **CertificateVerify always checked:** `insecure_skip_verify` skips chain/hostname only;
143148
leaf pubkey is parsed via `parseCertificateLeaf` so CV ECDSA is still verified.
144149
- **BoringSSL verify row:** `bench/boringssl_bench.cc` trusts the bench self-signed

0 commit comments

Comments
 (0)