1
0
mirror of https://github.com/golang/go synced 2024-11-25 01:17:56 -07:00

image/tiff: add a decode benchmark.

R=nigeltao
CC=golang-dev
https://golang.org/cl/4917049
This commit is contained in:
Benny Siegert 2011-08-26 11:31:59 +10:00 committed by Nigel Tao
parent 3a1f29beec
commit f172338a15
2 changed files with 25 additions and 0 deletions

View File

@ -5,10 +5,16 @@
package tiff package tiff
import ( import (
"io/ioutil"
"os" "os"
"testing" "testing"
) )
// Read makes *buffer implements io.Reader, so that we can pass one to Decode.
func (*buffer) Read([]byte) (int, os.Error) {
panic("unimplemented")
}
// TestNoRPS tries to decode an image that has no RowsPerStrip tag. // TestNoRPS tries to decode an image that has no RowsPerStrip tag.
// The tag is mandatory according to the spec but some software omits // The tag is mandatory according to the spec but some software omits
// it in the case of a single strip. // it in the case of a single strip.
@ -23,3 +29,22 @@ func TestNoRPS(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
} }
const filename = "testdata/video-001-uncompressed.tiff"
// BenchmarkDecode benchmarks the decoding of an image.
func BenchmarkDecode(b *testing.B) {
b.StopTimer()
contents, err := ioutil.ReadFile(filename)
if err != nil {
panic(err)
}
r := &buffer{buf: contents}
b.StartTimer()
for i := 0; i < b.N; i++ {
_, err := Decode(r)
if err != nil {
panic(err)
}
}
}

Binary file not shown.