- 20 Feb, 2013 1 commit
-
-
Rob Pike authored
Add a new, simple interface for scanning (probably textual) data, based on a new type called Scanner. It does its own internal buffering, so should be plausibly efficient even without injecting a bufio.Reader. The format of the input is defined by a "split function", by default splitting into lines. Other implemented split functions include single bytes, single runes, and space-separated words. Here's the loop to scan stdin as a file of lines: s := bufio.NewScanner(os.Stdin) for s.Scan() { fmt.Printf("%s\n", s.Bytes()) } if s.Err() != nil { log.Fatal(s.Err()) } While we're dealing with spaces, define what space means to strings.Fields. Fixes #4802. R=adg, rogpeppe, bradfitz, rsc CC=golang-dev https://golang.org/cl/7322088
-
- 19 Feb, 2013 1 commit
-
-
Donovan Hide authored
Slightly better benchmarks for when string and separator are equivalent and also less branching in inner loops. benchmark old ns/op new ns/op delta BenchmarkGenericNoMatch 3430 3442 +0.35% BenchmarkGenericMatch1 23590 22855 -3.12% BenchmarkGenericMatch2 108031 105025 -2.78% BenchmarkSingleMaxSkipping 2969 2704 -8.93% BenchmarkSingleLongSuffixFail 2826 2572 -8.99% BenchmarkSingleMatch 205268 197832 -3.62% BenchmarkByteByteNoMatch 987 921 -6.69% BenchmarkByteByteMatch 2014 1749 -13.16% BenchmarkByteStringMatch 3083 3050 -1.07% BenchmarkHTMLEscapeNew 922 915 -0.76% BenchmarkHTMLEscapeOld 1654 1570 -5.08% BenchmarkByteByteReplaces 11897 11556 -2.87% BenchmarkByteByteMap 4485 4255 -5.13% BenchmarkIndexRune 174 121 -30.46% BenchmarkIndexRuneFastPath 41 41 -0.24% BenchmarkIndex 45 44 -0.22% BenchmarkMapNoChanges 433 431 -0.46% BenchmarkIndexHard1 4015336 3316490 -17.40% BenchmarkIndexHard2 3976254 3395627 -14.60% BenchmarkIndexHard3 3973158 3378329 -14.97% BenchmarkCountHard1 4403549 3448512 -21.69% BenchmarkCountHard2 4387437 3413059 -22.21% BenchmarkCountHard3 4403891 3382661 -23.19% BenchmarkIndexTorture 28354 25864 -8.78% BenchmarkCountTorture 29625 27463 -7.30% BenchmarkFields 38752040 39169840 +1.08% BenchmarkFieldsFunc 38797765 38888060 +0.23% benchmark old MB/s new MB/s speedup BenchmarkSingleMaxSkipping 3367.07 3697.62 1.10x BenchmarkSingleLongSuffixFail 354.51 389.47 1.10x BenchmarkSingleMatch 73.07 75.82 1.04x BenchmarkFields 27.06 26.77 0.99x BenchmarkFieldsFunc 27.03 26.96 1.00x R=dave, fullung, remyoudompheng, rsc CC=golang-dev https://golang.org/cl/7350045
-
- 17 Feb, 2013 1 commit
-
-
Rémy Oudompheng authored
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
-
- 01 Feb, 2013 1 commit
-
-
Brad Fitzpatrick authored
Everybody either gets confused and thinks this is TrimLeft/TrimRight or does this by hand which gets repetitive looking. R=rsc, kevlar CC=golang-dev https://golang.org/cl/7239044
-
- 09 Dec, 2011 1 commit
-
-
Russ Cox authored
R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/5448091
-
- 24 Nov, 2011 1 commit
-
-
Scott Lawrence authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/5430046
-
- 08 Nov, 2011 1 commit
-
-
Rob Pike authored
R=rsc CC=golang-dev https://golang.org/cl/5345045
-
- 26 Oct, 2011 1 commit
-
-
Russ Cox authored
Various rune-based APIs change. R=golang-dev, r CC=golang-dev https://golang.org/cl/5306044
-
- 26 Sep, 2011 2 commits
-
-
Russ Cox authored
R=golang-dev, r, r CC=golang-dev https://golang.org/cl/5123047
-
Russ Cox authored
Case-insensitive strcmp without using ToLower. (Using ToLower is not always correct, and it allocates.) R=golang-dev, r CC=golang-dev https://golang.org/cl/5143044
-
- 14 Jul, 2011 1 commit
-
-
Robert Griesemer authored
manual changes in src/pkg/go/printer, src/cmd/gofix/signal_test.go (cd src/cmd/gofix/testdata; gofmt -w *.in *.out) (cd src/pkg/go/printer; gotest -update) gofmt -w misc src runs all tests R=golang-dev, rsc CC=golang-dev https://golang.org/cl/4715041
-
- 27 Jun, 2011 1 commit
-
-
Rob Pike authored
Change the signature of Split to have no count, assuming a full split, and rename the existing Split with a count to SplitN. Do the same to package bytes. Add a gofix module. R=adg, dsymonds, alex.brainman, rsc CC=golang-dev https://golang.org/cl/4661051
-
- 19 Apr, 2011 1 commit
-
-
Nigel Tao authored
R=rsc CC=golang-dev https://golang.org/cl/4442064
-
- 29 Mar, 2011 1 commit
-
-
Evan Shaw authored
R=gri, rsc CC=golang-dev https://golang.org/cl/4300044
-
- 28 Mar, 2011 1 commit
-
-
Brad Fitzpatrick authored
This speeds up strings.ToLower, etc. before/after: strings_test.BenchmarkMapNoChanges 1000000 1013 ns/op strings_test.BenchmarkMapNoChanges 5000000 442 ns/op R=r, rog, eh, rsc CC=golang-dev https://golang.org/cl/4306056
-
- 08 Mar, 2011 1 commit
-
-
Brad Fitzpatrick authored
$ gotest -test.v -test.run=IndexRune -test.bench=.* === RUN strings_test.TestIndexRune --- PASS: strings_test.TestIndexRune (0.0 seconds) PASS strings_test.BenchmarkIndexRune 20000000 105 ns/op strings_test.BenchmarkIndexByte 50000000 48 ns/op R=rsc, dsymonds CC=golang-dev https://golang.org/cl/4267050
-
- 05 Jan, 2011 1 commit
-
-
Roger Peppe authored
R=r CC=golang-dev https://golang.org/cl/3814041
-
- 30 Nov, 2010 1 commit
-
-
Adam Langley authored
R=r CC=golang-dev https://golang.org/cl/3364041
-
- 12 Nov, 2010 1 commit
-
-
Benny Siegert authored
The need for a LastIndexAny function has come up in the discussion for https://golang.org/cl/3008041/. This function is implemented analogously to lastIndexFunc, using functions from the utf8 package. R=r, rsc, PeterGo CC=golang-dev https://golang.org/cl/3057041
-
- 01 Nov, 2010 1 commit
-
-
Brad Fitzpatrick authored
Tiny helper to avoid strings.Index(s, sub) != -1 R=rsc, r2, r CC=golang-dev https://golang.org/cl/2265044
-
- 27 Oct, 2010 1 commit
-
-
Russ Cox authored
R=gri CC=golang-dev https://golang.org/cl/2763041
-
- 23 Sep, 2010 1 commit
-
-
Roger Peppe authored
R=r CC=golang-dev, rsc https://golang.org/cl/2271041
-
- 22 Sep, 2010 1 commit
-
-
Roger Peppe authored
R=r, rsc CC=golang-dev https://golang.org/cl/2250042
-
- 05 Aug, 2010 1 commit
-
-
Christian Himpel authored
Basically these functions are implemented the same way as the corresponding functions in the strings package. Test functions are implemented for IndexRune and FieldsFunc. Additionally two typos are fixed in packages bytes and strings. R=r CC=golang-dev https://golang.org/cl/1696062
-
- 03 Aug, 2010 1 commit
-
-
Scott Lawrence authored
Fixes #980. Made it return an empty array, rather than crash. Added relevant test cases to strings. R=golang-dev, r CC=golang-dev https://golang.org/cl/1914041
-
- 27 Jul, 2010 1 commit
-
-
Andrew Gerrand authored
R=r, rsc CC=golang-dev https://golang.org/cl/1669055
-
- 23 Jul, 2010 1 commit
-
-
Fazlul Shahriar authored
This CL basically applies the same changes as http://code.google.com/p/go/source/detail?r=5e0a29014e8e but for bytes package. R=r, rog CC=golang-dev https://golang.org/cl/1670052
-
- 20 Jul, 2010 1 commit
-
-
Rob Pike authored
strings.ToTitle converts all characters to title case, which for consistency with the other To* functions it should continue to do. This CL adds string.Title, which does a proper title-casing of the string. A similar function for package bytes will follow once this is settled. Fixes #933. R=rsc CC=golang-dev https://golang.org/cl/1869042
-
- 01 Jul, 2010 2 commits
-
-
Rob Pike authored
Use a count of -1 for infinity. Ditto for Replace. R=rsc CC=golang-dev https://golang.org/cl/1704044
-
Russ Cox authored
This is the Replace I suggested in the review of CL 1114041. It's true that we already have regexp.MustCompile(regexp.QuoteMeta(old)).ReplaceAll(s, new) but because this Replace is doing a simpler job it is simpler to call and inherently more efficient. I will add the bytes implementation and tests to the CL after the strings one has been reviewed. R=r, cw CC=golang-dev https://golang.org/cl/1731048
-
- 14 Jun, 2010 1 commit
-
-
Roger Peppe authored
Change TrimRight and TrimLeft to use these functions. Incidentally fix minor bug in TrimRight. Add some test cases for this. YMMV whether it's worth saving the closure allocation. R=r, r2 CC=golang-dev, hoisie, rsc https://golang.org/cl/1198044
-
- 05 May, 2010 1 commit
-
-
Kyle Consalus authored
R=golang-dev, gri CC=golang-dev https://golang.org/cl/1072041
-
- 19 Apr, 2010 1 commit
-
-
Kyle Consalus authored
Added strings.FieldsFunc, a generalization of strings.Fields in style of the strings.Trim*Func functions. R=golang-dev, r CC=golang-dev https://golang.org/cl/824051
-
- 10 Apr, 2010 1 commit
-
-
Michael Hoisie authored
strings: add IndexRune, Trim, TrimLeft, TrimRight, and the generic equivalents TrimFunc, TrimLeftFunc, TrimRightFunc R=rsc, r CC=golang-dev https://golang.org/cl/799048
-
- 31 Mar, 2010 1 commit
-
-
Rob Pike authored
in character and string case mapping routines. Add a custom mapper for Turkish and Azeri. A more general solution for deriving the case information from Unicode's SpecialCasing.txt will require more work. Fixes #703. R=rsc, rsc1 CC=golang-dev, mdakin https://golang.org/cl/824043
-
- 29 Mar, 2010 1 commit
-
-
Rob Pike authored
R=rsc CC=golang-dev https://golang.org/cl/833042
-
- 26 Mar, 2010 1 commit
-
-
Robert Griesemer authored
+ first use in go/doc R=r CC=golang-dev https://golang.org/cl/781041
-
- 05 Mar, 2010 1 commit
-
-
Spring Mc authored
R=rsc CC=golang-dev https://golang.org/cl/223096
-
- 26 Feb, 2010 1 commit
-
-
Russ Cox authored
gofmt -w -r 'strings.Bytes(a) -> []byte(a)' src/cmd src/pkg test/bench gofmt -w -r 'strings.Runes(a) -> []int(a)' src/cmd src/pkg test/bench delete unused imports R=r CC=golang-dev https://golang.org/cl/224062
-
- 25 Feb, 2010 1 commit
-
-
Robert Griesemer authored
(per suggestion from Heresy.Mc@gmail.com) R=rsc CC=golang-dev https://golang.org/cl/223052
-