1
0
mirror of https://github.com/golang/go synced 2024-11-22 14:04:48 -07:00
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
.hgtags
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
favicon.ico godoc: update favicon 2012-10-11 17:02:36 +11:00
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.