forked from mirror/glob
test parallel
This commit is contained in:
parent
4b229a908d
commit
6e346bf8d5
|
@ -46,3 +46,45 @@ func TestBTree(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type fakeMatcher struct {
|
||||||
|
len int
|
||||||
|
name string
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *fakeMatcher) Match(string) bool {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
var i = 3
|
||||||
|
|
||||||
|
func (f *fakeMatcher) Index(s string) (int, []int) {
|
||||||
|
seg := make([]int, 0, i)
|
||||||
|
for x := 0; x < i; x++ {
|
||||||
|
seg = append(seg, x)
|
||||||
|
}
|
||||||
|
return 0, seg
|
||||||
|
}
|
||||||
|
func (f *fakeMatcher) Len() int {
|
||||||
|
return f.len
|
||||||
|
}
|
||||||
|
func (f *fakeMatcher) String() string {
|
||||||
|
return f.name
|
||||||
|
}
|
||||||
|
|
||||||
|
func BenchmarkMatchBTree(b *testing.B) {
|
||||||
|
l := &fakeMatcher{4, "left_fake"}
|
||||||
|
r := &fakeMatcher{4, "right_fake"}
|
||||||
|
v := &fakeMatcher{2, "value_fake"}
|
||||||
|
|
||||||
|
// must be <= len(l + r + v)
|
||||||
|
fixture := "abcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghijabcdefghij"
|
||||||
|
|
||||||
|
bt := NewBTree(v, l, r)
|
||||||
|
|
||||||
|
b.RunParallel(func(pb *testing.PB) {
|
||||||
|
for pb.Next() {
|
||||||
|
bt.Match(fixture)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue