From 06036c2612f3fe6f101eef0ab90851ffb86b8513 Mon Sep 17 00:00:00 2001 From: Attila Tajti Date: Thu, 12 May 2016 06:05:43 +0200 Subject: [PATCH] search: add query and describe benchmarks Change-Id: I21e0199a0209a47d2e24fc3adf1dbf08f8d3be75 --- pkg/search/query_test.go | 42 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/pkg/search/query_test.go b/pkg/search/query_test.go index fa635da82..d54bd4e93 100644 --- a/pkg/search/query_test.go +++ b/pkg/search/query_test.go @@ -1440,3 +1440,45 @@ func BenchmarkQueryRecentPermanodes(b *testing.B) { } }) } + +func BenchmarkQueryPermanodes(b *testing.B) { + benchmarkQueryPermanodes(b, false) +} + +func BenchmarkQueryDescribePermanodes(b *testing.B) { + benchmarkQueryPermanodes(b, true) +} + +func benchmarkQueryPermanodes(b *testing.B, describe bool) { + b.ReportAllocs() + testQueryTypes(b, corpusTypeOnly, func(qt *queryTest) { + id := qt.id + + for i := 0; i < 1000; i++ { + pn := id.NewPlannedPermanode(fmt.Sprint(i)) + id.SetAttribute(pn, "foo", fmt.Sprint(i)) + } + + req := &SearchQuery{ + Constraint: &Constraint{ + Permanode: &PermanodeConstraint{}, + }, + } + if describe { + req.Describe = &DescribeRequest{} + } + + h := qt.Handler() + b.ResetTimer() + + for i := 0; i < b.N; i++ { + if describe { + *req.Describe = DescribeRequest{} + } + _, err := h.Query(req) + if err != nil { + qt.t.Fatal(err) + } + } + }) +}