forked from mirror/redis
Clean up benchmarks.
This commit is contained in:
parent
f14cf3644b
commit
0bd64b143c
|
@ -830,7 +830,7 @@ func (c *Client) ZRangeByScore(key string, min, max string, offset, count int64)
|
||||||
return c.zRangeByScore(key, min, max, false, offset, count)
|
return c.zRangeByScore(key, min, max, false, offset, count)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Client) ZRangeByScoreWithScores(key string, min, max string, offset, count int64) *StringSliceReq {
|
func (c *Client) ZRangeByScoreWithScores(key, min, max string, offset, count int64) *StringSliceReq {
|
||||||
return c.zRangeByScore(key, min, max, true, offset, count)
|
return c.zRangeByScore(key, min, max, true, offset, count)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
106
redis_test.go
106
redis_test.go
|
@ -5,16 +5,15 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"net"
|
"net"
|
||||||
"runtime"
|
|
||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
. "launchpad.net/gocheck"
|
|
||||||
|
|
||||||
"github.com/vmihailenco/redis"
|
"github.com/vmihailenco/redis"
|
||||||
|
|
||||||
|
. "launchpad.net/gocheck"
|
||||||
)
|
)
|
||||||
|
|
||||||
const redisAddr = ":6379"
|
const redisAddr = ":6379"
|
||||||
|
@ -2901,131 +2900,74 @@ func (t *RedisTest) TestScriptingScriptLoad(c *C) {
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
func (t *RedisTest) BenchmarkRedisPing(c *C) {
|
func (t *RedisTest) BenchmarkRedisPing(c *C) {
|
||||||
c.StopTimer()
|
|
||||||
|
|
||||||
runtime.LockOSThread()
|
|
||||||
t.client.ConnPool.(*redis.MultiConnPool).MaxCap = 1
|
|
||||||
|
|
||||||
for i := 0; i < 10; i++ {
|
|
||||||
ping := t.client.Ping()
|
|
||||||
c.Assert(ping.Err(), IsNil)
|
|
||||||
c.Assert(ping.Val(), Equals, "PONG")
|
|
||||||
}
|
|
||||||
|
|
||||||
c.StartTimer()
|
|
||||||
|
|
||||||
for i := 0; i < c.N; i++ {
|
for i := 0; i < c.N; i++ {
|
||||||
t.client.Ping()
|
if err := t.client.Ping().Err(); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *RedisTest) BenchmarkRedisSet(c *C) {
|
func (t *RedisTest) BenchmarkRedisSet(c *C) {
|
||||||
c.StopTimer()
|
|
||||||
|
|
||||||
runtime.LockOSThread()
|
|
||||||
t.client.ConnPool.(*redis.MultiConnPool).MaxCap = 1
|
|
||||||
|
|
||||||
for i := 0; i < 10; i++ {
|
|
||||||
set := t.client.Set("key", "hello")
|
|
||||||
c.Assert(set.Err(), IsNil)
|
|
||||||
c.Assert(set.Val(), Equals, "OK")
|
|
||||||
}
|
|
||||||
|
|
||||||
c.StartTimer()
|
|
||||||
|
|
||||||
for i := 0; i < c.N; i++ {
|
for i := 0; i < c.N; i++ {
|
||||||
t.client.Set("key", "hello")
|
if err := t.client.Set("key", "hello").Err(); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *RedisTest) BenchmarkRedisGetNil(c *C) {
|
func (t *RedisTest) BenchmarkRedisGetNil(c *C) {
|
||||||
c.StopTimer()
|
|
||||||
|
|
||||||
runtime.LockOSThread()
|
|
||||||
t.client.ConnPool.(*redis.MultiConnPool).MaxCap = 1
|
|
||||||
|
|
||||||
for i := 0; i < 10; i++ {
|
|
||||||
get := t.client.Get("key")
|
|
||||||
c.Assert(get.Err(), Equals, redis.Nil)
|
|
||||||
c.Assert(get.Val(), Equals, "")
|
|
||||||
}
|
|
||||||
|
|
||||||
c.StartTimer()
|
|
||||||
|
|
||||||
for i := 0; i < c.N; i++ {
|
for i := 0; i < c.N; i++ {
|
||||||
t.client.Get("key")
|
if err := t.client.Get("key").Err(); err != redis.Nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *RedisTest) BenchmarkRedisGet(c *C) {
|
func (t *RedisTest) BenchmarkRedisGet(c *C) {
|
||||||
c.StopTimer()
|
c.StopTimer()
|
||||||
|
|
||||||
runtime.LockOSThread()
|
|
||||||
t.client.ConnPool.(*redis.MultiConnPool).MaxCap = 1
|
|
||||||
|
|
||||||
set := t.client.Set("key", "hello")
|
set := t.client.Set("key", "hello")
|
||||||
c.Assert(set.Err(), IsNil)
|
c.Assert(set.Err(), IsNil)
|
||||||
|
|
||||||
for i := 0; i < 10; i++ {
|
|
||||||
get := t.client.Get("key")
|
|
||||||
c.Assert(get.Err(), IsNil)
|
|
||||||
c.Assert(get.Val(), Equals, "hello")
|
|
||||||
}
|
|
||||||
|
|
||||||
c.StartTimer()
|
c.StartTimer()
|
||||||
|
|
||||||
for i := 0; i < c.N; i++ {
|
for i := 0; i < c.N; i++ {
|
||||||
t.client.Get("key")
|
if err := t.client.Get("key").Err(); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *RedisTest) BenchmarkRedisMGet(c *C) {
|
func (t *RedisTest) BenchmarkRedisMGet(c *C) {
|
||||||
c.StopTimer()
|
c.StopTimer()
|
||||||
|
|
||||||
runtime.LockOSThread()
|
|
||||||
t.client.ConnPool.(*redis.MultiConnPool).MaxCap = 1
|
|
||||||
|
|
||||||
mSet := t.client.MSet("key1", "hello1", "key2", "hello2")
|
mSet := t.client.MSet("key1", "hello1", "key2", "hello2")
|
||||||
c.Assert(mSet.Err(), IsNil)
|
c.Assert(mSet.Err(), IsNil)
|
||||||
|
|
||||||
for i := 0; i < 10; i++ {
|
|
||||||
mGet := t.client.MGet("key1", "key2")
|
|
||||||
c.Assert(mGet.Err(), IsNil)
|
|
||||||
c.Assert(mGet.Val(), DeepEquals, []interface{}{"hello1", "hello2"})
|
|
||||||
}
|
|
||||||
|
|
||||||
c.StartTimer()
|
c.StartTimer()
|
||||||
|
|
||||||
for i := 0; i < c.N; i++ {
|
for i := 0; i < c.N; i++ {
|
||||||
t.client.MGet("key1", "key2")
|
if err := t.client.MGet("key1", "key2").Err(); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *RedisTest) BenchmarkRedisWriteRead(c *C) {
|
func (t *RedisTest) BenchmarkRedisWriteRead(c *C) {
|
||||||
c.StopTimer()
|
c.StopTimer()
|
||||||
|
|
||||||
runtime.LockOSThread()
|
|
||||||
|
|
||||||
conn, _, err := t.client.ConnPool.Get()
|
conn, _, err := t.client.ConnPool.Get()
|
||||||
c.Assert(err, IsNil)
|
c.Assert(err, IsNil)
|
||||||
|
defer t.client.ConnPool.Add(conn)
|
||||||
for i := 0; i < 10; i++ {
|
|
||||||
err := t.client.WriteReq(conn, redis.NewStatusReq("PING"))
|
|
||||||
c.Assert(err, IsNil)
|
|
||||||
|
|
||||||
line, _, err := conn.Rd.ReadLine()
|
|
||||||
c.Assert(err, IsNil)
|
|
||||||
c.Assert(line, DeepEquals, []byte("+PONG"))
|
|
||||||
}
|
|
||||||
|
|
||||||
c.StartTimer()
|
c.StartTimer()
|
||||||
|
|
||||||
for i := 0; i < c.N; i++ {
|
for i := 0; i < c.N; i++ {
|
||||||
t.client.WriteReq(conn, redis.NewStatusReq("PING"))
|
if err := t.client.WriteReq(conn, redis.NewStatusReq("PING")); err != nil {
|
||||||
conn.Rd.ReadLine()
|
panic(err)
|
||||||
|
}
|
||||||
|
if _, _, err := conn.Rd.ReadLine(); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
c.StopTimer()
|
|
||||||
t.client.ConnPool.Add(conn)
|
|
||||||
c.StartTimer()
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue