diff --git a/search/collectors/bench_test.go b/search/collectors/bench_test.go index cddf5e7f..43ceb764 100644 --- a/search/collectors/bench_test.go +++ b/search/collectors/bench_test.go @@ -10,7 +10,9 @@ import ( "golang.org/x/net/context" ) -func benchHelper(numOfMatches int, collector search.Collector, b *testing.B) { +type createCollector func() search.Collector + +func benchHelper(numOfMatches int, cc createCollector, b *testing.B) { matches := make([]*search.DocumentMatch, 0, numOfMatches) for i := 0; i < numOfMatches; i++ { matches = append(matches, &search.DocumentMatch{ @@ -25,6 +27,7 @@ func benchHelper(numOfMatches int, collector search.Collector, b *testing.B) { searcher := &stubSearcher{ matches: matches, } + collector := cc() err := collector.Collect(context.Background(), searcher, &stubReader{}) if err != nil { b.Fatal(err) diff --git a/search/collectors/collector_heap_test.go b/search/collectors/collector_heap_test.go index 69bbf46a..fad0fe04 100644 --- a/search/collectors/collector_heap_test.go +++ b/search/collectors/collector_heap_test.go @@ -401,17 +401,25 @@ func TestPaginationSameScores(t *testing.T) { } func BenchmarkTop10of100000Scores(b *testing.B) { - benchHelper(10000, NewHeapCollector(10, 0, search.SortOrder{&search.SortScore{Desc: true}}), b) + benchHelper(10000, func() search.Collector { + return NewHeapCollector(10, 0, search.SortOrder{&search.SortScore{Desc: true}}) + }, b) } func BenchmarkTop100of100000Scores(b *testing.B) { - benchHelper(10000, NewHeapCollector(100, 0, search.SortOrder{&search.SortScore{Desc: true}}), b) + benchHelper(10000, func() search.Collector { + return NewHeapCollector(100, 0, search.SortOrder{&search.SortScore{Desc: true}}) + }, b) } func BenchmarkTop10of1000000Scores(b *testing.B) { - benchHelper(100000, NewHeapCollector(10, 0, search.SortOrder{&search.SortScore{Desc: true}}), b) + benchHelper(100000, func() search.Collector { + return NewHeapCollector(10, 0, search.SortOrder{&search.SortScore{Desc: true}}) + }, b) } func BenchmarkTop100of1000000Scores(b *testing.B) { - benchHelper(100000, NewHeapCollector(100, 0, search.SortOrder{&search.SortScore{Desc: true}}), b) + benchHelper(100000, func() search.Collector { + return NewHeapCollector(100, 0, search.SortOrder{&search.SortScore{Desc: true}}) + }, b) }