From 711e7dbb2ea95762cc1c385f560cc09aa0e1c67e Mon Sep 17 00:00:00 2001 From: Dave Collins Date: Wed, 7 Jun 2017 11:12:11 -0500 Subject: [PATCH] btcec: Add benchmark for field normalization. --- btcec/bench_test.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/btcec/bench_test.go b/btcec/bench_test.go index 9986e592..bebd886f 100644 --- a/btcec/bench_test.go +++ b/btcec/bench_test.go @@ -111,3 +111,13 @@ func BenchmarkSigVerify(b *testing.B) { sig.Verify(msgHash.Bytes(), &pubKey) } } + +// BenchmarkFieldNormalize benchmarks how long it takes the internal field +// to perform normalization (which includes modular reduction). +func BenchmarkFieldNormalize(b *testing.B) { + // The normalize function is constant time so default value is fine. + f := new(fieldVal) + for i := 0; i < b.N; i++ { + f.Normalize() + } +}