Rob Pike
c62069cc1f
add a match arena to regexp to avoid generating garbage.
...
simple regexps run 20x faster.
the regex-dna benchmark goes 3x faster.
R=rsc
CC=golang-dev
https://golang.org/cl/156108
2009-11-19 23:12:01 -08:00
Rob Pike
a6e1ad2733
two easy optimizations for regexp:
...
1) if char class contains a single character, make it a single character.
(this is used to quote, e.g. [.] rather than \.
2) if regexp begins with ordinary text substring, use plain string match to start engine
R=rsc
CC=golang-dev
https://golang.org/cl/157095
2009-11-19 16:45:50 -08:00
Rob Pike
0263103a05
move evaluation of null-matching instructions one iteration earlier.
...
performance hit of about 20% but more intuitive results for submatches.
we need a good regexp package at some point.
Fixes #110 .
R=rsc
CC=golang-dev
https://golang.org/cl/152131
2009-11-14 12:23:24 -08:00
Rob Pike
845276ae68
remove dead code from test
...
R=rsc
CC=golang-dev
https://golang.org/cl/152118
2009-11-12 23:35:45 -08:00
Robert Griesemer
3bb0032cd6
- replaced gofmt expression formatting algorithm with
...
rsc's algorithm
- applied gofmt -w misc src
- partial CL (last chunk)
R=rsc, r
http://go/go-review/1024041
2009-11-09 21:23:52 -08:00
Robert Griesemer
40621d5c0d
remove semis after statements in one-statement statement lists
...
R=rsc, r
http://go/go-review/1025029
2009-11-09 12:07:39 -08:00
Russ Cox
094f1d5990
more lgtm files from gofmt
...
R=gri
OCL=35485
CL=35488
2009-10-08 15:14:54 -07:00
Russ Cox
91549438d8
apply gofmt to rand reflect regexp rpc runtime sort strconv strings sync syscall testing time unicode unsafe utf8
...
R=gri
DELTA=1409 (79 added, 24 deleted, 1306 changed)
OCL=35415
CL=35437
2009-10-07 11:55:06 -07:00
Russ Cox
ca6a0fee1b
more "declared and not used".
...
the last round omitted := range and only
checked 1 out of N vars in a multi-var :=
R=r
OCL=34624
CL=34638
2009-09-15 09:41:59 -07:00
Russ Cox
b04ac108fd
convert non-low-level non-google pkg code
...
to whole-package compilation.
R=r
OCL=33070
CL=33101
2009-08-12 13:19:17 -07:00
Rob Pike
68e250516c
make a simpler regexp implementation with fewer dependencies and put it inside testing.
...
remove "regexp." from regexp tests.
R=rsc
DELTA=1173 (1152 added, 1 deleted, 20 changed)
OCL=33028
CL=33037
2009-08-11 13:54:47 -07:00
Stephen Ma
e4603db393
Add methods AllMatches, AllMatchesString, AllMatchesIter,
...
AllMatchesStringIter, based on sawn and sawzall functions in sawzall.
APPROVED=rsc
DELTA=218 (218 added, 0 deleted, 0 changed)
OCL=32408
CL=32949
2009-08-09 19:30:47 -07:00
Rob Pike
3355cadf3f
support []byte (more efficient) as well as string in the interfaces.
...
change the names; Match is for []byte and MatchString is for string, etc.
R=rsc
DELTA=195 (155 added, 0 deleted, 40 changed)
OCL=32800
CL=32800
2009-08-05 15:44:45 -07:00
Rob Pike
5a4d431dd1
special case: recognize '[^\n]' and make it as fast as '.'
...
R=rsc
DELTA=25 (23 added, 1 deleted, 1 changed)
OCL=32793
CL=32799
2009-08-05 14:40:34 -07:00
Steve Newman
a6c7a80b5b
Add a ReplaceAll method to Regexp.
...
APPROVED=r,rsc
DELTA=189 (187 added, 0 deleted, 2 changed)
OCL=30205
CL=30517
2009-06-18 17:55:47 -07:00
Rob Pike
d90e7cbac6
mv src/lib to src/pkg
...
tests: all.bash passes, gobuild still works, godoc still works.
R=rsc
OCL=30096
CL=30102
2009-06-09 09:53:44 -07:00