OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [go.test/] [test/] [bench/] [go1/] [gzip_test.go] - Blame information for rev 700

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 700 jeremybenn
// Copyright 2011 The Go Authors.  All rights reserved.
2
// Use of this source code is governed by a BSD-style
3
// license that can be found in the LICENSE file.
4
 
5
// This benchmark tests gzip and gunzip performance.
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, err := gz.NewWriter(&buf)
25
        if err != nil {
26
                panic(err)
27
        }
28
        c.Write(jsongunz)
29
        c.Close()
30
        jsongz = buf.Bytes()
31
}
32
 
33
func gzip() {
34
        c, err := gz.NewWriter(ioutil.Discard)
35
        if err != nil {
36
                panic(err)
37
        }
38
        if _, err := c.Write(jsongunz); err != nil {
39
                panic(err)
40
        }
41
        if err := c.Close(); err != nil {
42
                panic(err)
43
        }
44
}
45
 
46
func gunzip() {
47
        r, err := gz.NewReader(bytes.NewBuffer(jsongz))
48
        if err != nil {
49
                panic(err)
50
        }
51
        if _, err := io.Copy(ioutil.Discard, r); err != nil {
52
                panic(err)
53
        }
54
        r.Close()
55
}
56
 
57
func BenchmarkGzip(b *testing.B) {
58
        b.SetBytes(int64(len(jsongunz)))
59
        for i := 0; i < b.N; i++ {
60
                gzip()
61
        }
62
}
63
 
64
func BenchmarkGunzip(b *testing.B) {
65
        b.SetBytes(int64(len(jsongunz)))
66
        for i := 0; i < b.N; i++ {
67
                gunzip()
68
        }
69
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.