forked from mirror/redis
Merge pull request #140 from go-redis/fix/benchmark-sizes
Benchmark set/get with bigger values.
This commit is contained in:
commit
3b2d097e41
|
@ -226,50 +226,67 @@ func BenchmarkRedisGetNil(b *testing.B) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkRedisGet(b *testing.B) {
|
func benchmarkRedisSetGet(b *testing.B, size int) {
|
||||||
client := benchRedisClient()
|
client := benchRedisClient()
|
||||||
defer client.Close()
|
defer client.Close()
|
||||||
|
|
||||||
value := bytes.Repeat([]byte{'1'}, 10000)
|
value := string(bytes.Repeat([]byte{'1'}, size))
|
||||||
if err := client.Set("key", value, 0).Err(); err != nil {
|
|
||||||
b.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
b.ResetTimer()
|
b.ResetTimer()
|
||||||
|
|
||||||
b.RunParallel(func(pb *testing.PB) {
|
b.RunParallel(func(pb *testing.PB) {
|
||||||
for pb.Next() {
|
for pb.Next() {
|
||||||
s, err := client.Get("key").Result()
|
if err := client.Set("key", value, 0).Err(); err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
got, err := client.Get("key").Result()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
if len(s) != 10000 {
|
if got != value {
|
||||||
panic("len(s) != 10000")
|
b.Fatalf("got != value")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkRedisGetSetBytes(b *testing.B) {
|
func BenchmarkRedisSetGet64Bytes(b *testing.B) {
|
||||||
|
benchmarkRedisSetGet(b, 64)
|
||||||
|
}
|
||||||
|
|
||||||
|
func BenchmarkRedisSetGet1KB(b *testing.B) {
|
||||||
|
benchmarkRedisSetGet(b, 1024)
|
||||||
|
}
|
||||||
|
|
||||||
|
func BenchmarkRedisSetGet10KB(b *testing.B) {
|
||||||
|
benchmarkRedisSetGet(b, 10*1024)
|
||||||
|
}
|
||||||
|
|
||||||
|
func BenchmarkRedisSetGet1MB(b *testing.B) {
|
||||||
|
benchmarkRedisSetGet(b, 1024*1024)
|
||||||
|
}
|
||||||
|
|
||||||
|
func BenchmarkRedisSetGetBytes(b *testing.B) {
|
||||||
client := benchRedisClient()
|
client := benchRedisClient()
|
||||||
defer client.Close()
|
defer client.Close()
|
||||||
|
|
||||||
src := bytes.Repeat([]byte{'1'}, 10000)
|
value := bytes.Repeat([]byte{'1'}, 10000)
|
||||||
|
|
||||||
b.ResetTimer()
|
b.ResetTimer()
|
||||||
|
|
||||||
b.RunParallel(func(pb *testing.PB) {
|
b.RunParallel(func(pb *testing.PB) {
|
||||||
for pb.Next() {
|
for pb.Next() {
|
||||||
if err := client.Set("key", src, 0).Err(); err != nil {
|
if err := client.Set("key", value, 0).Err(); err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
dst, err := client.Get("key").Bytes()
|
got, err := client.Get("key").Bytes()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
if !bytes.Equal(dst, src) {
|
if !bytes.Equal(got, value) {
|
||||||
panic("len(dst) != 10000")
|
b.Fatalf("got != value")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue