go/src
Nigel Tao 60ffae25bc 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
2012-05-25 09:58:38 +10:00
..
cmd cmd/gc: faster code, mainly for rotate 2012-05-24 17:20:07 -04:00
lib9 lib9: fix warning under clang 3.1 2012-04-18 09:57:00 +10:00
libbio
libmach runtime/pprof: support OS X CPU profiling 2012-02-28 16:18:24 -05:00
pkg hash/adler32: optimize. 2012-05-25 09:58:38 +10:00
Make.dist
all.bash build: run.bash no longer accepts --no-banner 2012-04-10 01:49:49 +08:00
all.bat
all.rc build: dist-based build for Plan 9 2012-05-01 22:32:46 -07:00
clean.bash
clean.bat
clean.rc build: dist-based build for Plan 9 2012-05-01 22:32:46 -07:00
make.bash build: do more during windows build 2012-03-20 14:04:20 +11:00
make.bat build: do more during windows build 2012-03-20 14:04:20 +11:00
make.rc build: dist-based build for Plan 9 2012-05-01 22:32:46 -07:00
run.bash cmd/api: add api/next.txt 2012-05-22 18:41:20 -07:00
run.bat cmd/api: add api/next.txt 2012-05-22 18:41:20 -07:00
run.rc build: dist-based build for Plan 9 2012-05-01 22:32:46 -07:00
sudo.bash cmd/dist, sudo.bash: don't mention sudo.bash if cov or prof is not present 2012-04-02 22:33:38 +08:00