improve benckmark for package grand

This commit is contained in:
John Guo
2021-01-13 23:38:10 +08:00
parent c1b52e0f35
commit 2d67d31f90

View File

@ -9,11 +9,12 @@
package grand_test
import (
"crypto/rand"
"encoding/binary"
"testing"
cryptoRand "crypto/rand"
mathRand "math/rand"
"encoding/binary"
"github.com/gogf/gf/util/grand"
"testing"
)
var (
@ -23,15 +24,21 @@ var (
strForStr = "我爱GoFrame"
)
func Benchmark_Rand_Buffer4(b *testing.B) {
func Benchmark_Math_Rand_Int(b *testing.B) {
for i := 0; i < b.N; i++ {
rand.Read(randBuffer4)
mathRand.Int()
}
}
func Benchmark_Rand_Buffer1024(b *testing.B) {
func Benchmark_CryptoRand_Buffer4(b *testing.B) {
for i := 0; i < b.N; i++ {
rand.Read(randBuffer1024)
cryptoRand.Read(randBuffer4)
}
}
func Benchmark_CryptoRand_Buffer1024(b *testing.B) {
for i := 0; i < b.N; i++ {
cryptoRand.Read(randBuffer1024)
}
}
@ -101,9 +108,9 @@ func Benchmark_Uint32Converting(b *testing.B) {
}
}
func Benchmark_Buffer(b *testing.B) {
func Benchmark_CryptoRand_Buffer(b *testing.B) {
for i := 0; i < b.N; i++ {
if _, err := rand.Read(buffer); err == nil {
if _, err := cryptoRand.Read(buffer); err == nil {
binary.LittleEndian.Uint64(buffer)
}
}