1
0
mirror of https://github.com/golang/go synced 2024-11-20 07:04:40 -07:00
The Go programming language
Go to file
Jeff R. Allen 7e7b89f7d0 net/textproto: faster header canonicalization with fewer allocations
By keeping a single copy of the strings that commonly show up
in headers, we can avoid one string allocation per header.

benchmark                  old ns/op    new ns/op    delta
BenchmarkReadMIMEHeader        19590        10824  -44.75%
BenchmarkUncommon               3168         1861  -41.26%

benchmark                 old allocs   new allocs    delta
BenchmarkReadMIMEHeader           32           25  -21.88%
BenchmarkUncommon                  5            5    0.00%

R=bradfitz, golang-dev, dave, rsc, jra
CC=golang-dev
https://golang.org/cl/6721055
2012-11-12 15:31:42 -08:00
api api: refresh next.txt 2012-11-07 15:26:41 -05:00
doc faq: mention go vet in "What happens with closures running as goroutines?" 2012-11-12 07:25:54 -08:00
include lib9: remove unreferenced externs and getuser() 2012-11-08 09:39:24 -05:00
lib codereview: protect against read-only upstream repository 2012-10-20 17:23:48 +08:00
misc misc/benchcmp: show memory statistics, when available 2012-11-03 02:13:51 +08:00
src net/textproto: faster header canonicalization with fewer allocations 2012-11-12 15:31:42 -08:00
test cmd/5g, cmd/6g: pass the full torture test. 2012-11-12 23:56:11 +01:00
.hgignore build: update Makefile to track source code dependencies better 2012-03-13 03:31:11 +08:00
.hgtags tag go1.0.3 2012-09-24 13:15:33 -05:00
AUTHORS A+C: Rick Arnold (individual CLA) 2012-11-12 15:34:09 -05:00
CONTRIBUTORS A+C: Rick Arnold (individual CLA) 2012-11-12 15:34:09 -05:00
favicon.ico godoc: update favicon 2012-10-11 17:02:36 +11:00
LICENSE doc: update licensing text one more time 2012-03-27 15:09:13 +11:00
PATENTS LICENSE: separate, change PATENTS text 2010-12-06 16:31:59 -05:00
README build: update, streamline documentation for new $GOBIN 2010-08-24 20:00:50 -04:00
robots.txt godoc: serve robots.txt raw 2011-02-19 05:46:20 +11:00

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.