diff options
Diffstat (limited to 'src/pkg/runtime/string_test.go')
| -rw-r--r-- | src/pkg/runtime/string_test.go | 45 | 
1 files changed, 45 insertions, 0 deletions
| diff --git a/src/pkg/runtime/string_test.go b/src/pkg/runtime/string_test.go new file mode 100644 index 000000000..8f13f0f42 --- /dev/null +++ b/src/pkg/runtime/string_test.go @@ -0,0 +1,45 @@ +package runtime_test + +import ( +	"testing" +) + +func BenchmarkCompareStringEqual(b *testing.B) { +	bytes := []byte("Hello Gophers!") +	s1, s2 := string(bytes), string(bytes) +	for i := 0; i < b.N; i++ { +		if s1 != s2 { +			b.Fatal("s1 != s2") +		} +	} +} + +func BenchmarkCompareStringIdentical(b *testing.B) { +	s1 := "Hello Gophers!" +	s2 := s1 +	for i := 0; i < b.N; i++ { +		if s1 != s2 { +			b.Fatal("s1 != s2") +		} +	} +} + +func BenchmarkCompareStringSameLength(b *testing.B) { +	s1 := "Hello Gophers!" +	s2 := "Hello, Gophers" +	for i := 0; i < b.N; i++ { +		if s1 == s2 { +			b.Fatal("s1 == s2") +		} +	} +} + +func BenchmarkCompareStringDifferentLength(b *testing.B) { +	s1 := "Hello Gophers!" +	s2 := "Hello, Gophers!" +	for i := 0; i < b.N; i++ { +		if s1 == s2 { +			b.Fatal("s1 == s2") +		} +	} +} | 
