MCPcopy Index your code
hub / github.com/coder/coder / BenchmarkStringBigint20

Function BenchmarkStringBigint20

cryptorand/strings_test.go:175–200  ·  view source on GitHub ↗
(b *testing.B)

Source from the content-addressed store, hash-verified

173}
174
175func BenchmarkStringBigint20(b *testing.B) {
176 mkstring := func(charSetStr string, size int) (string, error) {
177 charSet := []rune(charSetStr)
178
179 var buf strings.Builder
180 buf.Grow(size)
181
182 bi := big.NewInt(int64(size))
183 for i := 0; i < size; i++ {
184 num, err := rand.Int(rand.Reader, bi)
185 if err != nil {
186 return "", err
187 }
188
189 _, _ = buf.WriteRune(charSet[num.Uint64()%uint64(len(charSet))])
190 }
191
192 return buf.String(), nil
193 }
194
195 b.SetBytes(20)
196 b.ReportAllocs()
197 for i := 0; i < b.N; i++ {
198 _, _ = mkstring(cryptorand.Default, 20)
199 }
200}
201
202func BenchmarkStringRuneCast(b *testing.B) {
203 s := strings.Repeat("0", 20)

Callers

nothing calls this directly

Calls 3

IntMethod · 0.80
Uint64Method · 0.80
StringMethod · 0.45

Tested by

no test coverage detected