Descriptionpng: speed up opaque RGBA encoding
With Linux/8g on a 2006 Mac Mini (1.66 GHz Intel Core Duo,
2KB L1, 2MB L2, 2G main memory), GOMAXPROCS unset:
start:
png.BenchmarkEncodePaletted 50 44772820 ns/op
png.BenchmarkEncodeRGBOpaque 10 208395900 ns/op
png.BenchmarkEncodeRGBA 5 331088000 ns/op
remove interface method calls:
png.BenchmarkEncodePaletted 50 44722880 ns/op
png.BenchmarkEncodeRGBOpaque 10 139042600 ns/op
png.BenchmarkEncodeRGBA 5 334033600 ns/op
flate inline min/max():
png.BenchmarkEncodePaletted 50 40631180 ns/op
png.BenchmarkEncodeRGBOpaque 10 124894900 ns/op
png.BenchmarkEncodeRGBA 5 312099000 ns/op
after adler change:
png.BenchmarkEncodePaletted 50 40181760 ns/op
png.BenchmarkEncodeRGBOpaque 20 121781950 ns/op
png.BenchmarkEncodeRGBA 5 313890800 ns/op
In comparison to 121 ms on this 2006 machine, on my
Core2 Duo 2.66 GHz laptop, the final BenchmarkEncodeRGBOpaque
runs in 27 ms. (these are all for 640x480 images)
Patch Set 1 #Patch Set 2 : diff -r ff32eff02b8e https://go.googlecode.com/hg/ #
Total comments: 6
Patch Set 3 : diff -r ff32eff02b8e https://go.googlecode.com/hg/ #Patch Set 4 : diff -r 4abcd1a58d3d https://go.googlecode.com/hg/ #
Total comments: 1
Patch Set 5 : diff -r 9266c53a8fc0 https://go.googlecode.com/hg/ #MessagesTotal messages: 11
|