1
0
mirror of https://github.com/golang/go synced 2024-10-04 05:21:22 -06:00
go/src
Robert Griesemer 22974fbe8e suffixarray: a package for creating suffixarray-based indexes
This is a replacement for pending CL 2219042. It only contains
the raw suffixarray functionality with two methods:

- New       create a new index from some data
- Lookup    lookup occurences of a bytes slice in the data

Any other functionality (dealing with multiple data sets and
the corresponding position lists) is generic and doesn't have
to be part of this package.

Known performance bug: This implementation works fine for data sets
up to several megabytes as long as it doesn't contain very long
contiguous sequences of equal bytes. For instance, index creation for
all .go files under GOROOT (250KLOCs, approx. 9MB) takes ~50s on
2.66 GHz Intel Xeon as long as test/fixedbugs/257.go is excluded.
With that file, index creation times takes several days. 257.go contains
a string of 1M smiley faces.

There are more sophisticated suffixarray creation algorithms which
can handle very long common prefixes. The implementation can be
updated w/o the need to change the interface.

R=rsc, r, PeterGo
CC=golang-dev
https://golang.org/cl/2265041
2010-09-21 23:12:57 -07:00
..
cmd cgo: bug fixes 2010-09-21 22:41:19 -04:00
lib9 build: test for _WIN32, not _MINGW32 2010-09-08 22:20:35 -04:00
libbio build: test for _WIN32, not _MINGW32 2010-09-08 22:20:35 -04:00
libcgo libcgo: fix NaCl build. 2010-09-13 13:12:46 +10:00
libmach libmach: fix build on arm host 2010-09-15 16:52:11 -04:00
pkg suffixarray: a package for creating suffixarray-based indexes 2010-09-21 23:12:57 -07:00
all-arm.bash arm: toss make-arm.bash 2010-02-03 20:46:37 -08:00
all-nacl.bash nacl: another attempt at fixing build 2010-05-03 11:12:54 -07:00
all.bash build: $GOBIN defaults to $GOROOT/bin 2010-08-24 20:00:33 -04:00
clean.bash build: remove unnecessary references to GOBIN and GOROOT 2010-08-30 15:40:56 -04:00
env.bash env.bash: fix building in directory with spaces in the path. 2010-09-21 16:43:31 +10:00
make.bash build: create bin and pkg directories as needed; drop from hg 2010-09-02 14:20:02 -04:00
Make.ccmd build: generate, clean .exe files on Windows 2010-09-09 01:42:55 -04:00
Make.clib build: fix build - last CL missed Make.clib 2010-08-24 20:15:52 -04:00
Make.cmd build: $GOBIN defaults to $GOROOT/bin 2010-08-24 20:00:33 -04:00
Make.common build: remove unnecessary references to GOBIN and GOROOT 2010-08-30 15:40:56 -04:00
Make.inc build: fixes for native arm build 2010-09-21 22:41:32 -04:00
Make.pkg build: generate, clean .exe files on Windows 2010-09-09 01:42:55 -04:00
quietgcc.bash build: remove unnecessary references to GOBIN and GOROOT 2010-08-30 15:40:56 -04:00
run.bash build: make all.bash run on Ubuntu ARM 2010-09-22 15:30:42 +10:00
sudo.bash build: no required environment variables 2010-08-18 10:08:49 -04:00
version.bash version.bash: cope with ancient Mercurial 2010-03-16 18:45:06 -07:00