1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
package speed
import (
"strings"
"testing"
)
func BenchmarkGetHash(b *testing.B) {
strings := []string{
"a",
"abcdefghijklmnopqrstuvwxyz",
"aaaaaaaaaaaaaaaaaaaaaaaaaa",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy",
}
l := len(strings)
for i := 0; i < b.N; i++ {
_ = hash(strings[i%l], 0)
}
}
//lint:ignore U1000 keeping for now
type testWriter struct {
message string
t testing.TB
}
func (w *testWriter) Write(b []byte) (int, error) {
s := string(b)
if !strings.Contains(s, w.message) {
w.t.Error("expected log'", string(b), "' to contain", w.message)
}
return len(b), nil
}
|