Browse Source

benchmark for encoding/decoding

tags/0.2
Xing Xing 10 years ago
parent
commit
d282ef337a
3 changed files with 32 additions and 0 deletions
  1. +5
    -0
      worker/agent.go
  2. +11
    -0
      worker/inpack_test.go
  3. +16
    -0
      worker/outpack_test.go

+ 5
- 0
worker/agent.go View File

@@ -39,6 +39,11 @@ func (a *agent) Connect() (err error) {
}

func (a *agent) work() {
defer func() {
if err := recover(); err != nil {
a.worker.err(err.(error))
}
}()
var inpack *inPack
var l int
var err error


+ 11
- 0
worker/inpack_test.go View File

@@ -60,3 +60,14 @@ func TestInPack(t *testing.T) {
}
}
}

func BenchmarkDecode(b *testing.B) {
for i := 0; i < b.N; i++ {
for _, v := range inpackcases {
_, _, err := decodeInPack([]byte(v["src"]))
if err != nil {
b.Error(err)
}
}
}
}

+ 16
- 0
worker/outpack_test.go View File

@@ -81,3 +81,19 @@ func TestOutPack(t *testing.T) {
}
}
}

func BenchmarkEncode(b *testing.B) {
for i := 0; i < b.N; i++ {
for k, v := range outpackcases {
outpack := getOutPack()
outpack.dataType = k
if handle, ok := v["handle"]; ok {
outpack.handle = handle
}
if data, ok := v["data"]; ok {
outpack.data = []byte(data)
}
outpack.Encode()
}
}
}

Loading…
Cancel
Save