mirror of
https://github.com/golang/go
synced 2024-11-18 09:14:43 -07:00
math/big: add benchmarks for big.Float String
In addition to the DecimalConversion benchmark, that exercises the String method of the internal decimal type on a range of small shifts, add a few benchmarks for the big.Float String method. They can be used to obtain more realistic data on the real-world performance of big.Float printing. Change-Id: I7ada324e7603cb1ce7492ccaf3382db0096223ba Reviewed-on: https://go-review.googlesource.com/31275 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
57666c3fe8
commit
f6cdfc7987
@ -4,7 +4,10 @@
|
||||
|
||||
package big
|
||||
|
||||
import "testing"
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestDecimalString(t *testing.T) {
|
||||
for _, test := range []struct {
|
||||
@ -116,3 +119,16 @@ func BenchmarkDecimalConversion(b *testing.B) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkFloatString(b *testing.B) {
|
||||
x := new(Float)
|
||||
for _, prec := range []uint{1e2, 1e3, 1e4, 1e5} {
|
||||
x.SetPrec(prec).SetRat(NewRat(1, 3))
|
||||
b.Run(fmt.Sprintf("%v", prec), func(b *testing.B) {
|
||||
b.ReportAllocs()
|
||||
for i := 0; i < b.N; i++ {
|
||||
sink = x.String()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user