@@ -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