secp256k1

Pure Haskell Schnorr, ECDSA on the elliptic curve secp256k1 (docs.ppad.tech/secp256k1).
git clone git://git.ppad.tech/secp256k1.git
Log | Files | Refs | README | LICENSE

commit 9a6183a52f099fc7f892355f556bcb7a3e69b39c
parent 67e05f3aa8e323515882d4930385a40044f1f3b6
Author: Jared Tobin <jared@jtobin.io>
Date:   Sat, 27 Dec 2025 11:53:53 -0330

readme: update benchmarks

Diffstat:
MREADME.md | 39++++++++++++++++++++-------------------
1 file changed, 20 insertions(+), 19 deletions(-)

diff --git a/README.md b/README.md @@ -124,40 +124,41 @@ differing inputs is attributable to noise: ``` benchmarking derive_pub/wnaf, sk = 2 - time 14.18 μs (13.76 μs .. 14.81 μs) - 0.995 R² (0.990 R² .. 1.000 R²) - mean 13.72 μs (13.62 μs .. 13.99 μs) - std dev 518.8 ns (188.9 ns .. 947.5 ns) + time 29.67 μs (29.64 μs .. 29.71 μs) + 1.000 R² (1.000 R² .. 1.000 R²) + mean 29.68 μs (29.64 μs .. 29.71 μs) + std dev 121.1 ns (83.80 ns .. 177.2 ns) benchmarking derive_pub/wnaf, sk = 2 ^ 255 - 19 - time 13.67 μs (13.64 μs .. 13.70 μs) + time 29.68 μs (29.65 μs .. 29.72 μs) 1.000 R² (1.000 R² .. 1.000 R²) - mean 13.70 μs (13.68 μs .. 13.72 μs) - std dev 64.27 ns (53.05 ns .. 78.25 ns) + mean 29.71 μs (29.68 μs .. 29.75 μs) + std dev 106.7 ns (71.74 ns .. 174.7 ns) benchmarking schnorr/sign_schnorr' (small) - time 49.22 μs (49.07 μs .. 49.32 μs) + time 76.27 μs (76.21 μs .. 76.32 μs) 1.000 R² (1.000 R² .. 1.000 R²) - mean 49.18 μs (49.08 μs .. 49.29 μs) - std dev 368.4 ns (296.2 ns .. 528.5 ns) + mean 76.44 μs (76.40 μs .. 76.50 μs) + std dev 162.3 ns (123.1 ns .. 246.7 ns) benchmarking schnorr/sign_schnorr' (large) - time 49.14 μs (49.05 μs .. 49.22 μs) + time 76.35 μs (76.31 μs .. 76.38 μs) 1.000 R² (1.000 R² .. 1.000 R²) - mean 49.04 μs (48.99 μs .. 49.13 μs) - std dev 228.1 ns (161.6 ns .. 392.6 ns) + mean 76.37 μs (76.35 μs .. 76.40 μs) + std dev 84.10 ns (67.03 ns .. 112.7 ns) benchmarking ecdsa/sign_ecdsa' (small) - time 58.01 μs (57.87 μs .. 58.30 μs) + time 52.34 μs (52.22 μs .. 52.49 μs) 1.000 R² (1.000 R² .. 1.000 R²) - mean 57.88 μs (57.76 μs .. 58.14 μs) - std dev 577.1 ns (269.5 ns .. 1.102 μs) + mean 52.35 μs (52.30 μs .. 52.42 μs) + std dev 205.9 ns (159.2 ns .. 281.1 ns) benchmarking ecdsa/sign_ecdsa' (large) - time 57.90 μs (57.86 μs .. 57.94 μs) + time 52.40 μs (52.31 μs .. 52.55 μs) 1.000 R² (1.000 R² .. 1.000 R²) - mean 57.94 μs (57.90 μs .. 57.98 μs) - std dev 136.5 ns (108.2 ns .. 180.4 ns) + mean 52.66 μs (52.47 μs .. 52.99 μs) + std dev 813.7 ns (427.9 ns .. 1.244 μs) + variance introduced by outliers: 10% (moderately inflated) benchmarking ecdh/ecdh (small) time 143.6 μs (143.4 μs .. 143.7 μs)