forked from InsZVA/MonkeyDB
-
Notifications
You must be signed in to change notification settings - Fork 0
/
brenchmark.go
50 lines (48 loc) · 1.04 KB
/
brenchmark.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package main
import (
"net"
"fmt"
"./tcp"
"time"
"strconv"
)
func uint32bytes(n uint32) []byte {
header := make([]byte,4)
i := 0
for n > 0 {
header[3-i] = byte(n % 256)
n /= 256
i++
}
return header
}
func main() {
tcpAddr, err := net.ResolveTCPAddr("tcp4", "127.0.0.1:1517")
if err != nil {
panic(err)
}
conn, err := net.DialTCP("tcp", nil, tcpAddr)
if err != nil {
panic(err)
}
s := tcp.TCPSession{Conn:conn}
s.Init()
s.SendMessage([]byte("auth monkey "));
//fmt.Println(string(s.ReadMessage()))
start := time.Now().UnixNano()
for i := 1;i < 10000;i++ {
k := strconv.Itoa(i)
data := []byte("set " + k + " " + k+k+k+k+k+k+k+k)
s.SendMessage(data)
//fmt.Println(string(s.ReadMessage()))
}
fmt.Println("10000 set req within ",time.Now().UnixNano() - start,"ns")
start = time.Now().UnixNano()
for i := 1;i < 10000;i++ {
k := strconv.Itoa(i)
data := []byte("get " + k)
s.SendMessage(data)
//fmt.Println(string(s.ReadMessage()))
}
fmt.Println("10000 get req within ",time.Now().UnixNano() - start,"ns")
}