From d8da03ef0940abe3cf91fdeb3a6c172f6cb48e7e Mon Sep 17 00:00:00 2001 From: Michael Schroeder Date: Mon, 4 Feb 2013 19:23:10 +0100 Subject: [PATCH] optimize code a bit to make analyze_unsolvable faster --- src/rules.c | 2 ++ src/solver.c | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/rules.c b/src/rules.c index 11634e99..b0a6f948 100644 --- a/src/rules.c +++ b/src/rules.c @@ -1841,6 +1841,8 @@ solver_reenablepolicyrules(Solver *solv, int jobidx) jobtodisablelist(solv, job->elements[jobidx - 1], job->elements[jobidx], &q); if (!q.count) return; + if (job->count > 64) + queue_prealloc(&allq, job->count * 2); for (i = solv->jobrules; i < solv->jobrules_end; i++) { r = solv->rules + i; diff --git a/src/solver.c b/src/solver.c index e0ca1407..38b53c22 100644 --- a/src/solver.c +++ b/src/solver.c @@ -965,11 +965,11 @@ solver_reset(Solver *solv) v = solv->decisionq.elements[i]; solv->decisionmap[v > 0 ? v : -v] = 0; } - solv->decisionq_why.count = 0; - solv->decisionq.count = 0; + queue_empty(&solv->decisionq_why); + queue_empty(&solv->decisionq); solv->recommends_index = -1; solv->propagate_index = 0; - solv->branches.count = 0; + queue_empty(&solv->branches); /* adapt learnt rule status to new set of enabled/disabled rules */ enabledisablelearntrules(solv); -- 2.47.2