aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-05-21 20:26:24 +0200
committerGitHub <noreply@github.com>2023-05-21 20:26:24 +0200
commit7f0e6584f6e8f3e38e491494b0a7b24d37db4187 (patch)
treeb76b2600e88d58fbd9163805298c7602ffdf38ea /searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp
parent932b3cecfcc71408c9fe25bd23df992737e516a1 (diff)
parent79346d5d16c549347a15399505acaab96b4a5506 (diff)
Merge pull request #27144 from vespa-engine/balder/reduce-number-of-allocationsv8.165.119
Balder/reduce number of allocations
Diffstat (limited to 'searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp')
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp b/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp
index fe212666ec9..b4b55098eaa 100644
--- a/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp
+++ b/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp
@@ -56,6 +56,12 @@ ParallelWeakAndBlueprint::getNextChildField(const FieldSpec &outer)
}
void
+ParallelWeakAndBlueprint::reserve(size_t num_children) {
+ _weights.reserve(num_children);
+ _terms.reserve(num_children);
+}
+
+void
ParallelWeakAndBlueprint::addTerm(Blueprint::UP term, int32_t weight)
{
HitEstimate childEst = term->getState().estimate();
@@ -78,6 +84,7 @@ ParallelWeakAndBlueprint::createLeafSearch(const search::fef::TermFieldMatchData
assert(tfmda.size() == 1);
fef::MatchData::UP childrenMatchData = _layout.createMatchData();
wand::Terms terms;
+ terms.reserve(_terms.size());
for (size_t i = 0; i < _terms.size(); ++i) {
const State &childState = _terms[i]->getState();
assert(childState.numFields() == 1);