Descriptionimage/png: optimize the paeth filter implementation.
image/png benchmarks:
benchmark old ns/op new ns/op delta
BenchmarkPaeth 10 7 -29.21%
BenchmarkDecodeGray 2381745 2241620 -5.88%
BenchmarkDecodeNRGBAGradient 9535555 8835100 -7.35%
BenchmarkDecodeNRGBAOpaque 8189590 7611865 -7.05%
BenchmarkDecodePaletted 1300688 1301940 +0.10%
BenchmarkDecodeRGB 6760146 6317082 -6.55%
BenchmarkEncodePaletted 6048596 6122666 +1.22%
BenchmarkEncodeRGBOpaque 18891140 19474230 +3.09%
BenchmarkEncodeRGBA 78945350 78552600 -0.50%
Wall time for Denis Cheremisov's PNG-decoding program given in
https://groups.google.com/group/golang-nuts/browse_thread/thread/22aa8a05040fdd49
Before: 2.25s
After: 2.27s
Delta: +1%
The same program, but with a different PNG input file
(http://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png)
and only 100 iterations instead of 1000
Before: 4.78s
After: 4.42s
Delta: -8%
Patch Set 1 #Patch Set 2 : diff -r dd70f64136b7 https://go.googlecode.com/hg/ #Patch Set 3 : diff -r dd70f64136b7 https://go.googlecode.com/hg/ #Patch Set 4 : diff -r 00a25723a7cd https://go.googlecode.com/hg/ #
MessagesTotal messages: 6
|