The Go programming language
Go to file
Rémy Oudompheng 23093f86ee strings: better mean complexity for Count and Index.
The O(n+m) complexity is obtained probabilistically
by using Rabin-Karp algorithm, which provides the needed complexity
unless exceptional collisions occur, without memory allocation.

benchmark                 old ns/op    new ns/op    delta
BenchmarkIndexHard1         6532331      4045886  -38.06%
BenchmarkIndexHard2         8178173      4038975  -50.61%
BenchmarkIndexHard3         6973687      4042591  -42.03%
BenchmarkCountHard1         6270864      4071090  -35.08%
BenchmarkCountHard2         7838039      4072853  -48.04%
BenchmarkCountHard3         6697828      4071964  -39.20%
BenchmarkIndexTorture       2730546        28934  -98.94%
BenchmarkCountTorture       2729622        29064  -98.94%

Fixes #4600.

R=rsc, donovanhide, remyoudompheng
CC=golang-dev
https://golang.org/cl/7314095
2013-02-17 13:07:17 +01:00
api api: refresh next.txt 2013-02-15 16:33:14 -05:00
doc spec: clarify when range x does not evaluate x 2013-02-15 14:39:28 -05:00
include build: clang support 2013-02-15 13:37:43 -08:00
lib cmd/godoc: add support for doc.Package.Notes 2013-02-14 20:35:08 -08:00
misc build: clang support 2013-02-15 13:37:43 -08:00
src strings: better mean complexity for Count and Index. 2013-02-17 13:07:17 +01:00
test cmd/8g: fix sse2 compare code gen 2013-02-14 14:49:04 -05: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: Greg Ward (individual CLA) 2013-02-11 09:17:00 +11:00
CONTRIBUTORS C: add Cosmos Nicolaou (Google CLA) 2013-02-14 13:35:52 -08: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
favicon.ico godoc: update favicon 2012-10-11 17:02:36 +11:00
robots.txt godoc: serve robots.txt raw 2011-02-19 05:46:20 +11:00

README

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.