From 67661f6a4f68c515af4dfc2d1bbeee7c50836f19 Mon Sep 17 00:00:00 2001 From: George Tankersley Date: Fri, 19 Feb 2021 18:54:44 -0800 Subject: [PATCH] internal/scalar: add benchmarks --- internal/scalar/scalar_test.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/internal/scalar/scalar_test.go b/internal/scalar/scalar_test.go index a370c59..81e7c37 100644 --- a/internal/scalar/scalar_test.go +++ b/internal/scalar/scalar_test.go @@ -6,6 +6,7 @@ package scalar import ( "bytes" + crand "crypto/rand" "math/big" "testing" "testing/quick" @@ -135,3 +136,31 @@ func TestInvert(t *testing.T) { t.Error(err) } } + +func BenchmarkScalarAddition(b *testing.B) { + var rnd [128]byte + crand.Read(rnd[:]) + s1 := (&Scalar{}).FromUniformBytes(rnd[0:64]) + s2 := (&Scalar{}).FromUniformBytes(rnd[64:128]) + t := &Scalar{} + + b.ResetTimer() + + for i := 0; i < b.N; i++ { + t.Add(s1, s2) + } +} + +func BenchmarkScalarMultiplication(b *testing.B) { + var rnd [128]byte + crand.Read(rnd[:]) + s1 := (&Scalar{}).FromUniformBytes(rnd[0:64]) + s2 := (&Scalar{}).FromUniformBytes(rnd[64:128]) + t := &Scalar{} + + b.ResetTimer() + + for i := 0; i < b.N; i++ { + t.Mul(s1, s2) + } +}