Source file
src/runtime/rand_test.go
1
2
3
4
5 package runtime_test
6
7 import (
8 . "runtime"
9 "strconv"
10 "testing"
11 )
12
13 func BenchmarkFastrand(b *testing.B) {
14 b.RunParallel(func(pb *testing.PB) {
15 for pb.Next() {
16 Fastrand()
17 }
18 })
19 }
20
21 func BenchmarkFastrandHashiter(b *testing.B) {
22 var m = make(map[int]int, 10)
23 for i := 0; i < 10; i++ {
24 m[i] = i
25 }
26 b.RunParallel(func(pb *testing.PB) {
27 for pb.Next() {
28 for range m {
29 break
30 }
31 }
32 })
33 }
34
35 var sink32 uint32
36
37 func BenchmarkFastrandn(b *testing.B) {
38 for n := uint32(2); n <= 5; n++ {
39 b.Run(strconv.Itoa(int(n)), func(b *testing.B) {
40 for i := 0; i < b.N; i++ {
41 sink32 = Fastrandn(n)
42 }
43 })
44 }
45 }
46
View as plain text