]> Cypherpunks repositories - gostls13.git/commitdiff
math/big: add shrVU and shlVU benchmarks
authorJosh Bleecher Snyder <josharian@gmail.com>
Mon, 4 Jan 2021 21:34:29 +0000 (13:34 -0800)
committerJosh Bleecher Snyder <josharian@gmail.com>
Sun, 7 Mar 2021 23:02:35 +0000 (23:02 +0000)
Change-Id: Id67d6ac856bd9271de99c3381bde910aa0c166e0
Reviewed-on: https://go-review.googlesource.com/c/go/+/296011
Trust: Josh Bleecher Snyder <josharian@gmail.com>
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
src/math/big/arith_test.go

index 2aca0effde212842cca83b74473f538b66ca7562..7b3427f83415ba49d8350e4e835781577269be07 100644 (file)
@@ -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)
+                               }
+                       })
+               })
+       }
+}