expressions: add much faster limitToSignatures()

This commit is contained in:
Justin Viiret
2017-04-07 17:02:00 +10:00
committed by Matthew Barr
parent 0b8f25a036
commit 083d84cfd6
3 changed files with 22 additions and 26 deletions

View File

@@ -756,6 +756,7 @@ int main(int argc, char *argv[]) {
// known expressions together.
if (sigSets.empty()) {
SignatureSet sigs;
sigs.reserve(exprMapTemplate.size());
for (auto i : exprMapTemplate | map_keys) {
sigs.push_back(i);
}
@@ -772,9 +773,7 @@ int main(int argc, char *argv[]) {
}
for (const auto &s : sigSets) {
ExpressionMap exprMap = exprMapTemplate; // copy
limitBySignature(exprMap, s.sigs);
auto exprMap = limitToSignatures(exprMapTemplate, s.sigs);
if (exprMap.empty()) {
continue;
}