github.com/cellofellow/gopkg@v0.0.0-20140722061823-eec0544a62ad/image/raw/bench_test.go (about) 1 // Copyright 2014 <chaishushan{AT}gmail.com>. 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 package raw 6 7 import ( 8 "image" 9 "reflect" 10 "testing" 11 ) 12 13 func BenchmarkEncode_gray_buffer(b *testing.B) { 14 m := image.NewGray(image.Rect(0, 0, 256, 256)) 15 encoder := Encoder{1, reflect.Uint8} 16 dataBuf := make([]byte, 1<<20) 17 b.ResetTimer() 18 for i := 0; i < b.N; i++ { 19 encoder.Encode(m, dataBuf) 20 } 21 } 22 23 func BenchmarkEncode_gray_no_buffer(b *testing.B) { 24 m := image.NewGray(image.Rect(0, 0, 256, 256)) 25 encoder := Encoder{1, reflect.Uint8} 26 b.ResetTimer() 27 for i := 0; i < b.N; i++ { 28 encoder.Encode(m, nil) 29 } 30 } 31 32 func BenchmarkDecode_gray_buffer(b *testing.B) { 33 m := image.NewGray(image.Rect(0, 0, 256, 256)) 34 encoder := Encoder{1, reflect.Uint8} 35 decoder := Decoder{1, reflect.Uint8, m.Bounds().Dx(), m.Bounds().Dy()} 36 data, _ := encoder.Encode(m, nil) 37 imgBuf := image.NewGray(image.Rect(0, 0, 512, 512)) 38 b.ResetTimer() 39 for i := 0; i < b.N; i++ { 40 decoder.Decode(data, imgBuf) 41 } 42 } 43 44 func BenchmarkDecode_gray_no_buffer(b *testing.B) { 45 m := image.NewGray(image.Rect(0, 0, 256, 256)) 46 encoder := Encoder{1, reflect.Uint8} 47 decoder := Decoder{1, reflect.Uint8, m.Bounds().Dx(), m.Bounds().Dy()} 48 data, _ := encoder.Encode(m, nil) 49 b.ResetTimer() 50 for i := 0; i < b.N; i++ { 51 decoder.Decode(data, nil) 52 } 53 }