]> Cypherpunks repositories - gostls13.git/commitdiff
image/color: add YCbCrToRGB benchmark
authorJosh Bleecher Snyder <josharian@gmail.com>
Mon, 11 Apr 2016 18:54:07 +0000 (11:54 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Mon, 11 Apr 2016 19:15:58 +0000 (19:15 +0000)
Change-Id: I9ba76d5b0861a901415fdceccaf2f5caa2facb7f
Reviewed-on: https://go-review.googlesource.com/21837
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/image/color/ycbcr_test.go

index f5e7cbf3358ce609e5986d814abdbbb9b116a608..1b110691a24d27c8271b4d588b12ac7c99a169a5 100644 (file)
@@ -171,3 +171,26 @@ func TestPalette(t *testing.T) {
                t.Errorf("got %v, want %v", got, want)
        }
 }
+
+var sinkr, sinkg, sinkb uint8
+
+func BenchmarkYCbCrToRGB(b *testing.B) {
+       // YCbCrToRGB does saturating arithmetic.
+       // Low, middle, and high values can take
+       // different paths through the generated code.
+       b.Run("0", func(b *testing.B) {
+               for i := 0; i < b.N; i++ {
+                       sinkr, sinkg, sinkb = YCbCrToRGB(0, 0, 0)
+               }
+       })
+       b.Run("128", func(b *testing.B) {
+               for i := 0; i < b.N; i++ {
+                       sinkr, sinkg, sinkb = YCbCrToRGB(128, 128, 128)
+               }
+       })
+       b.Run("255", func(b *testing.B) {
+               for i := 0; i < b.N; i++ {
+                       sinkr, sinkg, sinkb = YCbCrToRGB(255, 255, 255)
+               }
+       })
+}