]> Cypherpunks repositories - gostls13.git/commitdiff
strings: better benchmark names; add BenchmarkIndex
authorBrad Fitzpatrick <bradfitz@golang.org>
Tue, 8 Mar 2011 17:58:18 +0000 (09:58 -0800)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 8 Mar 2011 17:58:18 +0000 (09:58 -0800)
R=dsymonds
CC=golang-dev
https://golang.org/cl/4264052

src/pkg/strings/strings_test.go

index b218c7a2ab6a6a844806bdc441d8b6042feb472d..41e398782e686d6c60ef785de276106973a6dd6e 100644 (file)
@@ -138,24 +138,36 @@ func TestIndexRune(t *testing.T) {
        }
 }
 
+const benchmarkString = "some_text=some☺value"
+
 func BenchmarkIndexRune(b *testing.B) {
-       if got := IndexRune("some_text=some☺value", '☺'); got != 14 {
+       if got := IndexRune(benchmarkString, '☺'); got != 14 {
+               panic("wrong index: got=" + strconv.Itoa(got))
+       }
+       for i := 0; i < b.N; i++ {
+               IndexRune(benchmarkString, '☺')
+       }
+}
+
+func BenchmarkIndexRuneFastPath(b *testing.B) {
+       if got := IndexRune(benchmarkString, 'v'); got != 17 {
                panic("wrong index: got=" + strconv.Itoa(got))
        }
        for i := 0; i < b.N; i++ {
-               IndexRune("some_text=some☺value", '☺')
+               IndexRune(benchmarkString, 'v')
        }
 }
 
-func BenchmarkIndexByte(b *testing.B) {
-       if got := IndexRune("some_text=some☺value", 'v'); got != 17 {
+func BenchmarkIndex(b *testing.B) {
+       if got := Index(benchmarkString, "v"); got != 17 {
                panic("wrong index: got=" + strconv.Itoa(got))
        }
        for i := 0; i < b.N; i++ {
-               IndexRune("some_text=some☺value", 'v')
+               Index(benchmarkString, "v")
        }
 }
 
+
 type ExplodeTest struct {
        s string
        n int