add: call compress method test

This commit is contained in:
misu 2018-01-30 18:37:52 +09:00
parent a9475f2ccf
commit f2a68e2d21
1 changed files with 70 additions and 0 deletions

View File

@ -79,6 +79,76 @@ func BenchmarkWriteWithCompressionOfContextTakeover(b *testing.B) {
b.ReportAllocs()
}
func BenchmarkCallWriteWithCompressionOfContextTakeover(b *testing.B) {
w := ioutil.Discard
c := newConn(fakeNetConn{Reader: nil, Writer: w}, false, 1024, 1024)
// messages := textMessages(100)
c.enableWriteCompression = true
c.contextTakeover = true
c.newCompressionWriter = compressContextTakeover
mw := &messageWriter{
c: c,
frameType: 2,
pos: maxFrameHeaderSize,
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
// c.txDict = &messages[i%len(messages)]
c.newCompressionWriter(mw, 2, &[]byte{})
}
b.ReportAllocs()
}
func BenchmarkCallWriteWithCompression(b *testing.B) {
w := ioutil.Discard
c := newConn(fakeNetConn{Reader: nil, Writer: w}, false, 1024, 1024)
// messages := textMessages(100)
c.enableWriteCompression = true
c.newCompressionWriter = compressNoContextTakeover
mw := &messageWriter{
c: c,
frameType: 2,
pos: maxFrameHeaderSize,
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
// c.txDict = &messages[i%len(messages)]
c.newCompressionWriter(mw, 2, nil)
}
b.ReportAllocs()
}
func BenchmarkReadWithCompression(b *testing.B) {
w := ioutil.Discard
c := newConn(fakeNetConn{Reader: nil, Writer: w}, false, 1024, 1024)
c.enableWriteCompression = true
c.newDecompressionReader = decompressNoContextTakeover
messages := textMessages(100)
b.ResetTimer()
for i := 0; i < b.N; i++ {
r := bytes.NewReader(messages[i%len(messages)])
reader := c.newDecompressionReader(r, nil)
ioutil.ReadAll(reader)
}
b.ReportAllocs()
}
func BenchmarkReadWithCompressionOfContextTakeover(b *testing.B) {
w := ioutil.Discard
c := newConn(fakeNetConn{Reader: nil, Writer: w}, false, 1024, 1024)
c.enableWriteCompression = true
c.contextTakeover = true
c.newDecompressionReader = decompressContextTakeover
messages := textMessages(100)
b.ResetTimer()
for i := 0; i < b.N; i++ {
r := bytes.NewReader(messages[i%len(messages)])
reader := c.newDecompressionReader(r, c.rxDict)
ioutil.ReadAll(reader)
}
b.ReportAllocs()
}
func TestValidCompressionLevel(t *testing.T) {
c := newConn(fakeNetConn{}, false, 1024, 1024)
for _, level := range []int{minCompressionLevel - 1, maxCompressionLevel + 1} {