added benchmark for term facet processing
This commit is contained in:
parent
860a6c3169
commit
fdcb6fc13a
2909
search/facets/benchmark_data.txt
Normal file
2909
search/facets/benchmark_data.txt
Normal file
File diff suppressed because it is too large
Load Diff
58
search/facets/facet_builder_terms_test.go
Normal file
58
search/facets/facet_builder_terms_test.go
Normal file
@ -0,0 +1,58 @@
|
||||
package facets
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"regexp"
|
||||
"testing"
|
||||
|
||||
"github.com/blevesearch/bleve/index"
|
||||
)
|
||||
|
||||
var terms []string
|
||||
|
||||
func init() {
|
||||
wsRegexp := regexp.MustCompile(`\W+`)
|
||||
input, err := ioutil.ReadFile("benchmark_data.txt")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
terms = wsRegexp.Split(string(input), -1)
|
||||
}
|
||||
|
||||
func BenchmarkTermsFacet10(b *testing.B) {
|
||||
termsFacetN(b, 10)
|
||||
}
|
||||
|
||||
func BenchmarkTermsFacet100(b *testing.B) {
|
||||
termsFacetN(b, 100)
|
||||
}
|
||||
|
||||
func BenchmarkTermsFacet1000(b *testing.B) {
|
||||
termsFacetN(b, 1000)
|
||||
}
|
||||
|
||||
func BenchmarkTermsFacet10000(b *testing.B) {
|
||||
termsFacetN(b, 10000)
|
||||
}
|
||||
|
||||
// func BenchmarkTermsFacet100000(b *testing.B) {
|
||||
// termsFacetN(b, 100000)
|
||||
// }
|
||||
|
||||
func termsFacetN(b *testing.B, numTerms int) {
|
||||
field := "test"
|
||||
termsLen := len(terms)
|
||||
tfb := NewTermsFacetBuilder(field, 3)
|
||||
i := 0
|
||||
for len(tfb.termsCount) < numTerms && i <= termsLen {
|
||||
j := i % termsLen
|
||||
term := terms[j]
|
||||
tfb.Update(index.FieldTerms{field: []string{term}})
|
||||
i++
|
||||
}
|
||||
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
tfb.Result()
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user