From: trevor_hansen Date: Tue, 1 Feb 2011 12:41:57 +0000 (+0000) Subject: Less Memory. Cache less frequently. X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=981045efb6f346a6850267360c3b355a1c45544b;p=francis%2Fstp.git Less Memory. Cache less frequently. git-svn-id: https://stp-fast-prover.svn.sourceforge.net/svnroot/stp-fast-prover/trunk/stp@1111 e59a4935-1847-0410-ae03-e826735625c1 --- diff --git a/src/simplifier/VariablesInExpression.cpp b/src/simplifier/VariablesInExpression.cpp index 278b2c6..ffabcf8 100644 --- a/src/simplifier/VariablesInExpression.cpp +++ b/src/simplifier/VariablesInExpression.cpp @@ -66,6 +66,14 @@ void VariablesInExpression::VarSeenInTerm(Symbols* term, SymbolPtrSet& visited, if (visited.find(term) != visited.end()) { return; } + + if (term->isLeaf()) { + found.insert(term->found); + return; + } + + visited.insert(term); + SymbolPtrToNode::const_iterator it; if ((it = TermsAlreadySeenMap.find(term)) != TermsAlreadySeenMap.end()) { // We've previously built the set of variables below this "symbols". @@ -77,17 +85,11 @@ void VariablesInExpression::VarSeenInTerm(Symbols* term, SymbolPtrSet& visited, return; } - if (term->isLeaf()) { - found.insert(term->found); - return; - } - for (vector::const_iterator it = term->children.begin(), itend = term->children.end(); it != itend; it++) { VarSeenInTerm(*it, visited, found, av); } - visited.insert(term); return; }//End of VarSeenInTerm @@ -148,7 +150,7 @@ bool VariablesInExpression::VarSeenInTerm(const ASTNode& var, //cerr << "Term is const" << term.isConstant() << endl; - if (visited.size() > 150) // No use caching it, unless we've done some work. + if (visited.size() > 250) // No use caching it, unless we've done some work. { sort(av.begin(), av.end());