diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-05-21 20:26:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-21 20:26:24 +0200 |
commit | 7f0e6584f6e8f3e38e491494b0a7b24d37db4187 (patch) | |
tree | b76b2600e88d58fbd9163805298c7602ffdf38ea /searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp | |
parent | 932b3cecfcc71408c9fe25bd23df992737e516a1 (diff) | |
parent | 79346d5d16c549347a15399505acaab96b4a5506 (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.cpp | 7 |
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); |