mirror of
https://github.com/golang/go
synced 2024-09-25 13:20:13 -06:00
The Go programming language
7b36acc4ac
This CL is an attempt to backport the abop code generation from 6g. This improves the generation of the range offset if the increment can be encoded directly via Operand2 shift encoding. 0023 (/home/dfc/src/range.go:7) BGE ,29(APC) 0024 (/home/dfc/src/range.go:7) MOVW 0(R3),R5 0025 (/home/dfc/src/range.go:7) MOVW $4,R1 0026 (/home/dfc/src/range.go:7) ADD R1,R3,R3 0027 (/home/dfc/src/range.go:8) ADD R5,R4,R4 0028 (/home/dfc/src/range.go:7) B ,17(APC) becomes 0023 (/home/dfc/src/range.go:7) BGE ,28(APC) 0024 (/home/dfc/src/range.go:7) MOVW 0(R3),R0 0025 (/home/dfc/src/range.go:7) ADD $4,R3,R3 0026 (/home/dfc/src/range.go:8) ADD R0,R4,R4 0027 (/home/dfc/src/range.go:7) B ,17(APC) Benchmarks are unimpressive dfc@qnap:~/go/test/bench/go1$ ~/go/misc/benchcmp {old,new}.txt benchmark old ns/op new ns/op delta BenchmarkBinaryTree17 2147483647 2147483647 +0.93% BenchmarkFannkuch11 2147483647 2147483647 -2.52% BenchmarkGobDecode 196135200 195842000 -0.15% BenchmarkGobEncode 78581650 76734450 -2.35% BenchmarkGzip 2147483647 2147483647 -0.47% BenchmarkGunzip 1087243000 1070254000 -1.56% BenchmarkJSONEncode 1107558000 1146077000 +3.48% BenchmarkJSONDecode 2147483647 2147483647 -0.07% BenchmarkMandelbrot200 2147483647 2147483647 -0.77% BenchmarkParse 74328550 71653400 -3.60% BenchmarkRevcomp 111123900 109325950 -1.62% BenchmarkTemplate 2147483647 2147483647 -0.82% benchmark old MB/s new MB/s speedup BenchmarkGobDecode 3.91 3.92 1.00x BenchmarkGobEncode 9.77 10.00 1.02x BenchmarkGzip 3.65 3.66 1.00x BenchmarkGunzip 17.85 18.13 1.02x BenchmarkJSONEncode 1.75 1.69 0.97x BenchmarkJSONDecode 0.83 0.83 1.00x BenchmarkParse 0.78 0.81 1.04x BenchmarkRevcomp 22.87 23.25 1.02x BenchmarkTemplate 0.84 0.85 1.01x R=remyoudompheng, minux.ma, rsc CC=golang-dev https://golang.org/cl/6564067 |
||
---|---|---|
api | ||
doc | ||
include | ||
lib | ||
misc | ||
src | ||
test | ||
.hgignore | ||
.hgtags | ||
AUTHORS | ||
CONTRIBUTORS | ||
favicon.ico | ||
LICENSE | ||
PATENTS | ||
README | ||
robots.txt |
This is the source code repository for the Go programming language. For documentation about how to install and use Go, visit http://golang.org/ or load doc/install.html in your web browser. After installing Go, you can view a nicely formatted doc/install.html by running godoc --http=:6060 and then visiting http://localhost:6060/doc/install.html. Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file. -- Binary Distribution Notes If you have just untarred a binary Go distribution, you need to set the environment variable $GOROOT to the full path of the go directory (the one containing this README). You can omit the variable if you unpack it into /usr/local/go, or if you rebuild from sources by running all.bash (see doc/install.html). You should also add the Go binary directory $GOROOT/bin to your shell's path. For example, if you extracted the tar file into $HOME/go, you might put the following in your .profile: export GOROOT=$HOME/go export PATH=$PATH:$GOROOT/bin See doc/install.html for more details.