...
Source file
test/bench/go1/gzip_test.go
1
2
3
4
5
6
7 package go1
8
9 import (
10 "bytes"
11 gz "compress/gzip"
12 "io"
13 "io/ioutil"
14 "testing"
15 )
16
17 var (
18 jsongunz = bytes.Repeat(jsonbytes, 10)
19 jsongz []byte
20 )
21
22 func init() {
23 var buf bytes.Buffer
24 c := gz.NewWriter(&buf)
25 c.Write(jsongunz)
26 c.Close()
27 jsongz = buf.Bytes()
28 }
29
30 func gzip() {
31 c := gz.NewWriter(ioutil.Discard)
32 if _, err := c.Write(jsongunz); err != nil {
33 panic(err)
34 }
35 if err := c.Close(); err != nil {
36 panic(err)
37 }
38 }
39
40 func gunzip() {
41 r, err := gz.NewReader(bytes.NewBuffer(jsongz))
42 if err != nil {
43 panic(err)
44 }
45 if _, err := io.Copy(ioutil.Discard, r); err != nil {
46 panic(err)
47 }
48 r.Close()
49 }
50
51 func BenchmarkGzip(b *testing.B) {
52 b.SetBytes(int64(len(jsongunz)))
53 for i := 0; i < b.N; i++ {
54 gzip()
55 }
56 }
57
58 func BenchmarkGunzip(b *testing.B) {
59 b.SetBytes(int64(len(jsongunz)))
60 for i := 0; i < b.N; i++ {
61 gunzip()
62 }
63 }
64
View as plain text