From: Josh Bleecher Snyder Date: Mon, 4 Jan 2021 21:34:29 +0000 (-0800) Subject: math/big: add shrVU and shlVU benchmarks X-Git-Tag: go1.17beta1~1241 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=b0df92703c89e42592659ae99cded0d5b68382b7;p=gostls13.git math/big: add shrVU and shlVU benchmarks Change-Id: Id67d6ac856bd9271de99c3381bde910aa0c166e0 Reviewed-on: https://go-review.googlesource.com/c/go/+/296011 Trust: Josh Bleecher Snyder Run-TryBot: Josh Bleecher Snyder TryBot-Result: Go Bot Reviewed-by: Robert Griesemer --- diff --git a/src/math/big/arith_test.go b/src/math/big/arith_test.go index 2aca0effde..7b3427f834 100644 --- a/src/math/big/arith_test.go +++ b/src/math/big/arith_test.go @@ -671,3 +671,27 @@ func BenchmarkDivWVW(b *testing.B) { }) } } + +func BenchmarkNonZeroShifts(b *testing.B) { + for _, n := range benchSizes { + if isRaceBuilder && n > 1e3 { + continue + } + x := rndV(n) + s := uint(rand.Int63n(_W-2)) + 1 // avoid 0 and over-large shifts + z := make([]Word, n) + b.Run(fmt.Sprint(n), func(b *testing.B) { + b.SetBytes(int64(n * _W)) + b.Run("shrVU", func(b *testing.B) { + for i := 0; i < b.N; i++ { + _ = shrVU(z, x, s) + } + }) + b.Run("shlVU", func(b *testing.B) { + for i := 0; i < b.N; i++ { + _ = shlVU(z, x, s) + } + }) + }) + } +}