aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/runtime
diff options
context:
space:
mode:
authorNigel Tao <nigeltao@golang.org>2012-05-25 09:58:38 +1000
committerNigel Tao <nigeltao@golang.org>2012-05-25 09:58:38 +1000
commit60ffae25bc1e8ddacaa52952683bfaf6caebc9fd (patch)
treed27ad5f658a5711282efff5275d17c52f0b3cbb3 /src/pkg/runtime
parent184209787c5904cb670857c7c1ef3a2fd10718e5 (diff)
downloadgo-60ffae25bc1e8ddacaa52952683bfaf6caebc9fd.tar.xz
hash/adler32: optimize.
The bulk of the gains come from hoisting the modulo ops outside of the inner loop. Reducing the digest type from 8 bytes to 4 bytes gains another 1% on the hash/adler32 micro-benchmark. Benchmarks for $GOOS,$GOARCH = linux,amd64 below. hash/adler32 benchmark: benchmark old ns/op new ns/op delta BenchmarkAdler32KB 1660 1364 -17.83% image/png benchmark: benchmark old ns/op new ns/op delta BenchmarkDecodeGray 2466909 2425539 -1.68% BenchmarkDecodeNRGBAGradient 9884500 9751705 -1.34% BenchmarkDecodeNRGBAOpaque 8511615 8379800 -1.55% BenchmarkDecodePaletted 1366683 1330677 -2.63% BenchmarkDecodeRGB 6987496 6884974 -1.47% BenchmarkEncodePaletted 6292408 6040052 -4.01% BenchmarkEncodeRGBOpaque 19780680 19178440 -3.04% BenchmarkEncodeRGBA 80738600 79076800 -2.06% Wall time for Denis Cheremisov's PNG-decoding program given in https://groups.google.com/group/golang-nuts/browse_thread/thread/22aa8a05040fdd49 Before: 2.44s After: 2.26s Delta: -7% R=rsc CC=golang-dev https://golang.org/cl/6251044
Diffstat (limited to 'src/pkg/runtime')
0 files changed, 0 insertions, 0 deletions