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_top_score_test.go b/search/collectors/collector_top_score_test.go index 66c8978c..f5b0c6b8 100644 --- a/search/collectors/collector_top_score_test.go +++ b/search/collectors/collector_top_score_test.go @@ -402,17 +402,17 @@ func TestPaginationSameScores(t *testing.T) { } func BenchmarkTop10of100000Scores(b *testing.B) { - benchHelper(10000, NewTopScorerCollector(10), b) + benchHelper(10000, func() search.Collector { return NewTopScorerCollector(10) }, b) } func BenchmarkTop100of100000Scores(b *testing.B) { - benchHelper(10000, NewTopScorerCollector(100), b) + benchHelper(10000, func() search.Collector { return NewTopScorerCollector(100) }, b) } func BenchmarkTop10of1000000Scores(b *testing.B) { - benchHelper(100000, NewTopScorerCollector(10), b) + benchHelper(100000, func() search.Collector { return NewTopScorerCollector(10) }, b) } func BenchmarkTop100of1000000Scores(b *testing.B) { - benchHelper(100000, NewTopScorerCollector(100), b) + benchHelper(100000, func() search.Collector { return NewTopScorerCollector(100) }, b) }